Tatooine
Classes | Public Member Functions | Private Attributes | List of all members
tatooine::dynamic_multidim Struct Reference

#include <multidim.h>

Collaboration diagram for tatooine::dynamic_multidim:
[legend]

Classes

struct  iterator
 

Public Member Functions

 dynamic_multidim (std::vector< std::pair< std::size_t, std::size_t > > ranges)
 
 dynamic_multidim (std::vector< std::pair< std::size_t, std::size_t > > &&ranges)
 
 dynamic_multidim (std::vector< std::size_t > const &res)
 
template<std::size_t N>
 dynamic_multidim (std::array< std::pair< std::size_t, std::size_t >, N > const &ranges)
 
template<std::size_t N>
constexpr dynamic_multidim (std::array< std::size_t, N > const &res)
 
template<integral... Ts>
constexpr dynamic_multidim (std::pair< Ts, Ts > const &... ranges)
 
template<integral... Ts>
constexpr dynamic_multidim (Ts const (&... ranges)[2])
 
constexpr dynamic_multidim (integral auto const ... res)
 
auto operator[] (std::size_t i) -> auto &
 
auto operator[] (std::size_t i) const -> auto const &
 
auto ranges () -> std::vector< std::pair< std::size_t, std::size_t > > &
 
auto ranges () const -> std::vector< std::pair< std::size_t, std::size_t > > const &
 
auto begin ()
 
auto end ()
 
auto num_dimensions () const -> std::size_t
 

Private Attributes

std::vector< std::pair< std::size_t, std::size_t > > m_ranges
 

Constructor & Destructor Documentation

◆ dynamic_multidim() [1/8]

tatooine::dynamic_multidim::dynamic_multidim ( std::vector< std::pair< std::size_t, std::size_t > >  ranges)
inlineexplicit

◆ dynamic_multidim() [2/8]

tatooine::dynamic_multidim::dynamic_multidim ( std::vector< std::pair< std::size_t, std::size_t > > &&  ranges)
inlineexplicit

◆ dynamic_multidim() [3/8]

tatooine::dynamic_multidim::dynamic_multidim ( std::vector< std::size_t > const &  res)
inlineexplicit

◆ dynamic_multidim() [4/8]

template<std::size_t N>
tatooine::dynamic_multidim::dynamic_multidim ( std::array< std::pair< std::size_t, std::size_t >, N > const &  ranges)
inlineexplicit

◆ dynamic_multidim() [5/8]

template<std::size_t N>
constexpr tatooine::dynamic_multidim::dynamic_multidim ( std::array< std::size_t, N > const &  res)
inlineexplicitconstexpr

◆ dynamic_multidim() [6/8]

template<integral... Ts>
constexpr tatooine::dynamic_multidim::dynamic_multidim ( std::pair< Ts, Ts > const &...  ranges)
inlineexplicitconstexpr

◆ dynamic_multidim() [7/8]

template<integral... Ts>
constexpr tatooine::dynamic_multidim::dynamic_multidim ( Ts   const(&... ranges)[2])
inlineconstexpr

◆ dynamic_multidim() [8/8]

constexpr tatooine::dynamic_multidim::dynamic_multidim ( integral auto const ...  res)
inlineexplicitconstexpr

Member Function Documentation

◆ begin()

auto tatooine::dynamic_multidim::begin ( )
inline

◆ end()

auto tatooine::dynamic_multidim::end ( )
inline

◆ num_dimensions()

auto tatooine::dynamic_multidim::num_dimensions ( ) const -> std::size_t
inline

◆ operator[]() [1/2]

auto tatooine::dynamic_multidim::operator[] ( std::size_t  i) -> auto&
inline

◆ operator[]() [2/2]

auto tatooine::dynamic_multidim::operator[] ( std::size_t  i) const -> auto const&
inline

◆ ranges() [1/2]

auto tatooine::dynamic_multidim::ranges ( ) -> std::vector<std::pair<std::size_t, std::size_t>>&
inline

◆ ranges() [2/2]

auto tatooine::dynamic_multidim::ranges ( ) const -> std::vector<std::pair<std::size_t, std::size_t>> const&
inline

Member Data Documentation

◆ m_ranges

std::vector<std::pair<std::size_t, std::size_t> > tatooine::dynamic_multidim::m_ranges
private

The documentation for this struct was generated from the following file: