Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit ec9f6e560b.
PrevUpHomeNext

Struct template multi_index

boost::histogram::multi_index — Holder for multiple axis indices.

Synopsis

// In header: <boost/histogram/multi_index.hpp>

template<std::size_t Size> 
struct multi_index {
  // types
  typedef axis::index_type   value_type;    
  typedef value_type *       iterator;      
  typedef const value_type * const_iterator;

  // construct/copy/destruct
  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 &);
  multi_index(priv_tag);
  template<typename T, std::size_t... Is> 
    multi_index(const T &, mp11::index_sequence< Is... >);

  // public static functions
  static multi_index create(std::size_t);
  static constexpr std::size_t size() noexcept;

  // public member functions
  iterator begin() noexcept;
  iterator end() noexcept;
  const_iterator begin() const noexcept;
  const_iterator end() const noexcept;
};

Description

Adapts external iterable, tuple, or explicit list of indices to the same representation.

multi_index public construct/copy/destruct

  1. template<class... Is> multi_index(axis::index_type i, Is... is);
  2. template<class... Is> 
      multi_index(const std::tuple< axis::index_type, Is... > & is);
  3. template<typename Iterable> multi_index(const Iterable & is);
  4. multi_index(priv_tag);
  5. template<typename T, std::size_t... Is> 
      multi_index(const T & is, mp11::index_sequence< Is... >);

multi_index public static functions

  1. static multi_index create(std::size_t s);
  2. static constexpr std::size_t size() noexcept;

multi_index public member functions

  1. iterator begin() noexcept;
  2. iterator end() noexcept;
  3. const_iterator begin() const noexcept;
  4. const_iterator end() const noexcept;

PrevUpHomeNext