Код: Выделить всё
#include
#include
#include
#include
using namespace std;
template
std::ostream& operator decltype(std::get(k.subaggregators)) {
return std::get(k.subaggregators);
}
}
/** multivalue attribute implementation (inherits corresponding aggregation object) */
template
class Multivalue : public Aggregator {
public:
Multivalue() : Aggregator(&data, [](const T &value) { return value; }) { }
void append(const T& item) { data.push_back(item); }
private:
std::vector data;
};
int main() {
Multivalue mv;
mv.append(std::make_tuple(std::make_tuple(13, 12), 2.5, 3.5));
mv.append(std::make_tuple(std::make_tuple(1, 7), 2.55123, 1.5));
mv.append(std::make_tuple(std::make_tuple(5, 3), 2.312, 1.8));
auto &a1 = std::get(mv);
auto &a2 = std::get(mv);
auto &a3 = std::get(std::get(mv));
auto &a4 = std::get(std::get(mv));
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/29614882/c-nested-lambda[/url]