Skip to content

Use Structured Bindings

Simon Spannagel requested to merge struct_binding into master

This makes use of C++17's structured bindings to simplify some code like

auto mydata = std::make_tuple(XYZVector{0,0,0}, double(12.55), bool(true));
auto position = std::get<0>(mydata);
double time = std::get<1>(mydata);
bool cond = std::get<2>(mydata);

auto mypair = std::make_pair(12.5, 13.5);

to

auto [position, time, cond] = std::make_tuple(XYZVector{0,0,0}, double(12.55), bool(true));
auto [first, second] = std::make_pair(12.5, 13.5);

Especially the std::pair version is very useful in writing nicer loops.

Merge request reports