...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::histogram::multi_index<static_cast< std::size_t >(-1)>
// In header: <boost/histogram/multi_index.hpp> struct multi_index<static_cast< std::size_t >(-1)> { // types typedef axis::index_type value_type; typedef value_type * iterator; typedef const value_type * const_iterator; // public static functions static multi_index create(std::size_t); // public member functions template<class... Is> multi_index(axis::index_type, Is...); template<class... Is> multi_index(const std::tuple< axis::index_type, Is... > &); template<typename Iterable> multi_index(const Iterable &); iterator begin() noexcept; iterator end() noexcept; const_iterator begin() const noexcept; const_iterator end() const noexcept; std::size_t size() const noexcept; };
multi_index
public member functionstemplate<class... Is> multi_index(axis::index_type i, Is... is);
template<class... Is> multi_index(const std::tuple< axis::index_type, Is... > & is);
template<typename Iterable> multi_index(const Iterable & is);
iterator begin() noexcept;
iterator end() noexcept;
const_iterator begin() const noexcept;
const_iterator end() const noexcept;
std::size_t size() const noexcept;