...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
tuple_size
// In header: <boost/pfr/tuple_size.hpp> typedef unspecified tuple_size;
Has a static const member variable value
that contains fields count in a T. Works for any T that satisfies simple aggregate .
Example:
std::array<int, boost::pfr::tuple_size<my_structure>::value > a;