aimstil  5.0.5
til::detail::multi_array_base< TContainer, D, b > Class Template Reference

Wraps a container containing multi_array inside a multi_array, bringing D extra dimensions to the dimensions alreay spanned by the contained multi-array. More...

#include <til/multi_array.h>

Inheritance diagram for til::detail::multi_array_base< TContainer, D, b >:
Collaboration diagram for til::detail::multi_array_base< TContainer, D, b >:

Classes

class  const_range
 
class  range
 

Public Types

typedef TContainer outer_container
 
typedef value_type_of< TContainer >::type inner_container
 
typedef inner_container::value_type value_type
 
typedef inner_container::reference reference
 
typedef inner_container::const_reference const_reference
 
typedef meta::int_type< D > my_d_type
 
typedef meta::add_type< my_d_type, typename inner_container::d_type >::type d_type
 
typedef numeric_array< std::size_t, d_type::value > coord_type
 

Public Member Functions

 multi_array_base ()
 
 multi_array_base (const coord_type &dims)
 
 multi_array_base (const coord_type &dims, value_type v)
 
 multi_array_base (const TContainer &data)
 
range whole_range ()
 
const_range whole_range () const
 
coord_type dims () const
 
std::size_t size () const
 
TContainer::reference operator[] (std::size_t i)
 
TContainer::const_reference operator[] (std::size_t i) const
 
reference operator() (const coord_type &p)
 
const_reference operator() (const coord_type &p) const
 
template<typename TIterator >
reference operator() (TIterator begin, TIterator end)
 
template<typename TIterator >
const_reference operator() (TIterator begin, TIterator end) const
 

Detailed Description

template<typename TContainer, std::size_t D, bool b>
class til::detail::multi_array_base< TContainer, D, b >

Wraps a container containing multi_array inside a multi_array, bringing D extra dimensions to the dimensions alreay spanned by the contained multi-array.

Definition at line 473 of file multi_array.h.

Member Typedef Documentation

◆ const_reference

template<typename TContainer, std::size_t D, bool b>
typedef inner_container::const_reference til::detail::multi_array_base< TContainer, D, b >::const_reference

Definition at line 480 of file multi_array.h.

◆ coord_type

template<typename TContainer, std::size_t D, bool b>
typedef numeric_array<std::size_t, d_type::value> til::detail::multi_array_base< TContainer, D, b >::coord_type

Definition at line 483 of file multi_array.h.

◆ d_type

template<typename TContainer, std::size_t D, bool b>
typedef meta::add_type<my_d_type, typename inner_container::d_type>::type til::detail::multi_array_base< TContainer, D, b >::d_type

Definition at line 482 of file multi_array.h.

◆ inner_container

template<typename TContainer, std::size_t D, bool b>
typedef value_type_of<TContainer>::type til::detail::multi_array_base< TContainer, D, b >::inner_container

Definition at line 477 of file multi_array.h.

◆ my_d_type

template<typename TContainer, std::size_t D, bool b>
typedef meta::int_type<D> til::detail::multi_array_base< TContainer, D, b >::my_d_type

Definition at line 481 of file multi_array.h.

◆ outer_container

template<typename TContainer, std::size_t D, bool b>
typedef TContainer til::detail::multi_array_base< TContainer, D, b >::outer_container

Definition at line 476 of file multi_array.h.

◆ reference

template<typename TContainer, std::size_t D, bool b>
typedef inner_container::reference til::detail::multi_array_base< TContainer, D, b >::reference

Definition at line 479 of file multi_array.h.

◆ value_type

template<typename TContainer, std::size_t D, bool b>
typedef inner_container::value_type til::detail::multi_array_base< TContainer, D, b >::value_type

Definition at line 478 of file multi_array.h.

Constructor & Destructor Documentation

◆ multi_array_base() [1/4]

template<typename TContainer, std::size_t D, bool b>
til::detail::multi_array_base< TContainer, D, b >::multi_array_base ( )
inline

Definition at line 508 of file multi_array.h.

◆ multi_array_base() [2/4]

template<typename TContainer, std::size_t D, bool b>
til::detail::multi_array_base< TContainer, D, b >::multi_array_base ( const coord_type dims)
inlineexplicit

Definition at line 510 of file multi_array.h.

◆ multi_array_base() [3/4]

template<typename TContainer, std::size_t D, bool b>
til::detail::multi_array_base< TContainer, D, b >::multi_array_base ( const coord_type dims,
value_type  v 
)
inline

Definition at line 518 of file multi_array.h.

◆ multi_array_base() [4/4]

template<typename TContainer, std::size_t D, bool b>
til::detail::multi_array_base< TContainer, D, b >::multi_array_base ( const TContainer &  data)
inline

Definition at line 527 of file multi_array.h.

Member Function Documentation

◆ dims()

template<typename TContainer, std::size_t D, bool b>
coord_type til::detail::multi_array_base< TContainer, D, b >::dims ( ) const
inline

Definition at line 532 of file multi_array.h.

◆ operator()() [1/4]

template<typename TContainer, std::size_t D, bool b>
reference til::detail::multi_array_base< TContainer, D, b >::operator() ( const coord_type p)
inline

Definition at line 538 of file multi_array.h.

◆ operator()() [2/4]

template<typename TContainer, std::size_t D, bool b>
const_reference til::detail::multi_array_base< TContainer, D, b >::operator() ( const coord_type p) const
inline

Definition at line 540 of file multi_array.h.

◆ operator()() [3/4]

template<typename TContainer, std::size_t D, bool b>
template<typename TIterator >
reference til::detail::multi_array_base< TContainer, D, b >::operator() ( TIterator  begin,
TIterator  end 
)
inline

Definition at line 543 of file multi_array.h.

◆ operator()() [4/4]

template<typename TContainer, std::size_t D, bool b>
template<typename TIterator >
const_reference til::detail::multi_array_base< TContainer, D, b >::operator() ( TIterator  begin,
TIterator  end 
) const
inline

Definition at line 550 of file multi_array.h.

◆ operator[]() [1/2]

template<typename TContainer, std::size_t D, bool b>
TContainer::reference til::detail::multi_array_base< TContainer, D, b >::operator[] ( std::size_t  i)
inline

Definition at line 536 of file multi_array.h.

◆ operator[]() [2/2]

template<typename TContainer, std::size_t D, bool b>
TContainer::const_reference til::detail::multi_array_base< TContainer, D, b >::operator[] ( std::size_t  i) const
inline

Definition at line 537 of file multi_array.h.

◆ size()

template<typename TContainer, std::size_t D, bool b>
std::size_t til::detail::multi_array_base< TContainer, D, b >::size ( ) const
inline

Definition at line 533 of file multi_array.h.

◆ whole_range() [1/2]

template<typename TContainer, std::size_t D, bool b>
range til::detail::multi_array_base< TContainer, D, b >::whole_range ( )
inline

Definition at line 529 of file multi_array.h.

◆ whole_range() [2/2]

template<typename TContainer, std::size_t D, bool b>
const_range til::detail::multi_array_base< TContainer, D, b >::whole_range ( ) const
inline

Definition at line 530 of file multi_array.h.


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