Tatooine
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::dynamic_multidim_size< IndexOrder > Class Template Reference

#include <dynamic_multidim_size.h>

Inheritance diagram for tatooine::dynamic_multidim_size< IndexOrder >:
[legend]
Collaboration diagram for tatooine::dynamic_multidim_size< IndexOrder >:
[legend]

Classes

struct  index_range
 
struct  indices_iterator
 

Public Types

using this_type = dynamic_multidim_size< IndexOrder >
 
using index_order_type = IndexOrder
 

Public Member Functions

 dynamic_multidim_size ()=default
 
 dynamic_multidim_size (dynamic_multidim_size const &other)=default
 
 dynamic_multidim_size (dynamic_multidim_size &&other) noexcept=default
 
auto operator= (dynamic_multidim_size const &other) -> dynamic_multidim_size &=default
 
auto operator= (dynamic_multidim_size &&other) noexcept -> dynamic_multidim_size &=default
 
 ~dynamic_multidim_size ()=default
 
template<typename OtherIndexing >
 dynamic_multidim_size (dynamic_multidim_size< OtherIndexing > const &other)
 
template<typename OtherIndexing >
 dynamic_multidim_size (dynamic_multidim_size< OtherIndexing > &&other)
 
template<typename OtherIndexing >
auto operator= (dynamic_multidim_size< OtherIndexing > const &other) -> dynamic_multidim_size &
 
template<typename OtherIndexing >
auto operator= (dynamic_multidim_size< OtherIndexing > &&other) -> dynamic_multidim_size &
 
 dynamic_multidim_size (integral auto const ... size)
 
 dynamic_multidim_size (std::vector< std::size_t > &&size)
 
 dynamic_multidim_size (integral_range auto const &size)
 
template<typename OtherIndexing >
auto operator== (dynamic_multidim_size< OtherIndexing > const &other) const
 
template<typename OtherIndexing >
auto operator!= (dynamic_multidim_size< OtherIndexing > const &other) const
 
auto num_dimensions () const
 
auto size () const -> auto const &
 
auto size (std::size_t const i) const
 
auto num_components () const
 
auto resize (integral auto const ... size) -> void
 
auto resize (integral_range auto const &size) -> void
 
auto resize (std::vector< std::size_t > &&size) -> void
 
auto resize (std::vector< std::size_t > const &size) -> void
 
auto constexpr in_range (integral auto const ... indices) const
 
auto constexpr in_range (integral_range auto const &indices) const
 
auto constexpr plain_index (integral auto const ... indices) const
 
auto constexpr plain_index (integral_range auto const &indices) const
 
auto constexpr multi_index (std::size_t const gi) const
 
auto begin_indices () const
 
auto end_indices () const
 
auto indices () const
 

Private Attributes

std::vector< std::size_t > m_size = {}
 

Member Typedef Documentation

◆ index_order_type

template<typename IndexOrder >
using tatooine::dynamic_multidim_size< IndexOrder >::index_order_type = IndexOrder

◆ this_type

template<typename IndexOrder >
using tatooine::dynamic_multidim_size< IndexOrder >::this_type = dynamic_multidim_size<IndexOrder>

Constructor & Destructor Documentation

◆ dynamic_multidim_size() [1/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( )
default

◆ dynamic_multidim_size() [2/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( dynamic_multidim_size< IndexOrder > const &  other)
default

◆ dynamic_multidim_size() [3/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( dynamic_multidim_size< IndexOrder > &&  other)
defaultnoexcept

◆ ~dynamic_multidim_size()

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::~dynamic_multidim_size ( )
default

◆ dynamic_multidim_size() [4/8]

template<typename IndexOrder >
template<typename OtherIndexing >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( dynamic_multidim_size< OtherIndexing > const &  other)
inlineexplicit

◆ dynamic_multidim_size() [5/8]

template<typename IndexOrder >
template<typename OtherIndexing >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( dynamic_multidim_size< OtherIndexing > &&  other)
inlineexplicit

◆ dynamic_multidim_size() [6/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( integral auto const ...  size)
inlineexplicit

◆ dynamic_multidim_size() [7/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( std::vector< std::size_t > &&  size)
inlineexplicit

◆ dynamic_multidim_size() [8/8]

template<typename IndexOrder >
tatooine::dynamic_multidim_size< IndexOrder >::dynamic_multidim_size ( integral_range auto const &  size)
inlineexplicit

Member Function Documentation

◆ begin_indices()

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::begin_indices ( ) const
inline

◆ end_indices()

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::end_indices ( ) const
inline

◆ in_range() [1/2]

template<typename IndexOrder >
auto constexpr tatooine::dynamic_multidim_size< IndexOrder >::in_range ( integral auto const ...  indices) const
inlineconstexpr

◆ in_range() [2/2]

template<typename IndexOrder >
auto constexpr tatooine::dynamic_multidim_size< IndexOrder >::in_range ( integral_range auto const &  indices) const
inlineconstexpr

◆ indices()

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::indices ( ) const
inline

◆ multi_index()

template<typename IndexOrder >
auto constexpr tatooine::dynamic_multidim_size< IndexOrder >::multi_index ( std::size_t const  gi) const
inlineconstexpr

◆ num_components()

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::num_components ( ) const
inline

◆ num_dimensions()

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::num_dimensions ( ) const
inline

◆ operator!=()

template<typename IndexOrder >
template<typename OtherIndexing >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator!= ( dynamic_multidim_size< OtherIndexing > const &  other) const
inline

◆ operator=() [1/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator= ( dynamic_multidim_size< IndexOrder > &&  other) -> dynamic_multidim_size &=default
defaultnoexcept

◆ operator=() [2/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator= ( dynamic_multidim_size< IndexOrder > const &  other) -> dynamic_multidim_size &=default
default

◆ operator=() [3/4]

template<typename IndexOrder >
template<typename OtherIndexing >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator= ( dynamic_multidim_size< OtherIndexing > &&  other) -> dynamic_multidim_size&
inline

◆ operator=() [4/4]

template<typename IndexOrder >
template<typename OtherIndexing >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator= ( dynamic_multidim_size< OtherIndexing > const &  other) -> dynamic_multidim_size&
inline

◆ operator==()

template<typename IndexOrder >
template<typename OtherIndexing >
auto tatooine::dynamic_multidim_size< IndexOrder >::operator== ( dynamic_multidim_size< OtherIndexing > const &  other) const
inline

◆ plain_index() [1/2]

template<typename IndexOrder >
auto constexpr tatooine::dynamic_multidim_size< IndexOrder >::plain_index ( integral auto const ...  indices) const
inlineconstexpr

◆ plain_index() [2/2]

template<typename IndexOrder >
auto constexpr tatooine::dynamic_multidim_size< IndexOrder >::plain_index ( integral_range auto const &  indices) const
inlineconstexpr

◆ resize() [1/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::resize ( integral auto const ...  size) -> void
inline

◆ resize() [2/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::resize ( integral_range auto const &  size) -> void
inline

◆ resize() [3/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::resize ( std::vector< std::size_t > &&  size) -> void
inline

◆ resize() [4/4]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::resize ( std::vector< std::size_t > const &  size) -> void
inline

◆ size() [1/2]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::size ( ) const -> auto const&
inline

◆ size() [2/2]

template<typename IndexOrder >
auto tatooine::dynamic_multidim_size< IndexOrder >::size ( std::size_t const  i) const
inline
Returns
size of dimensions i

Member Data Documentation

◆ m_size

template<typename IndexOrder >
std::vector<std::size_t> tatooine::dynamic_multidim_size< IndexOrder >::m_size = {}
private

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