...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::storage_adaptor — Turns any vector-like, array-like, and map-like container into a storage type.
// In header: <boost/histogram/storage_adaptor.hpp> template<typename T> class storage_adaptor { public: // construct/copy/destruct storage_adaptor(storage_adaptor &&) = default; storage_adaptor(const storage_adaptor &) = default; template<class... Ts> storage_adaptor(Ts &&...); storage_adaptor & operator=(storage_adaptor &&) = default; storage_adaptor & operator=(const storage_adaptor &) = default; template<typename U> storage_adaptor & operator=(U &&); // public member functions template<typename U> bool operator==(const U &) const; template<typename Archive> void serialize(Archive &, unsigned); };
storage_adaptor
public
construct/copy/destructstorage_adaptor(storage_adaptor &&) = default;
storage_adaptor(const storage_adaptor &) = default;
template<class... Ts> storage_adaptor(Ts &&... ts);
storage_adaptor & operator=(storage_adaptor &&) = default;
storage_adaptor & operator=(const storage_adaptor &) = default;
template<typename U> storage_adaptor & operator=(U && u);