aimstil  5.0.5
til::multi_array< TContainer, D > Class Template Reference

A multi-dimensional container. More...

#include <til/multi_array.h>

Inheritance diagram for til::multi_array< TContainer, D >:
Collaboration diagram for til::multi_array< TContainer, D >:

Public Types

typedef detail::multi_array_base< TContainer, D, is_multi_array< typename value_type_of< TContainer >::type >::value > Base
 
typedef Base::coord_type coord_type
 
typedef Base::value_type value_type
 
- Public Types inherited from til::detail::multi_array_base< TContainer, D, is_multi_array< value_type_of< TContainer >::type >::value >
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 ()
 
 multi_array (const coord_type &dims)
 
 multi_array (const coord_type &dims, value_type v)
 
- Public Member Functions inherited from til::detail::multi_array_base< TContainer, D, is_multi_array< value_type_of< TContainer >::type >::value >
 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
 
reference operator() (TIterator begin, TIterator end)
 
const_reference operator() (TIterator begin, TIterator end) const
 

Detailed Description

template<typename TContainer, std::size_t D>
class til::multi_array< TContainer, D >

A multi-dimensional container.

This class has two purposes. The first is to create a multidimensional array from a simple container. The second is to concatenate these containers into yet higher dimensional containers. Caveat: the container multi_array is based on must have random access, i.e. operator[]. This makes sense for most applications I guess.

Definition at line 676 of file multi_array.h.

Member Typedef Documentation

◆ Base

template<typename TContainer , std::size_t D>
typedef detail::multi_array_base<TContainer, D, is_multi_array<typename value_type_of<TContainer>::type>::value > til::multi_array< TContainer, D >::Base

Definition at line 680 of file multi_array.h.

◆ coord_type

template<typename TContainer , std::size_t D>
typedef Base::coord_type til::multi_array< TContainer, D >::coord_type

Definition at line 681 of file multi_array.h.

◆ value_type

template<typename TContainer , std::size_t D>
typedef Base::value_type til::multi_array< TContainer, D >::value_type

Definition at line 682 of file multi_array.h.

Constructor & Destructor Documentation

◆ multi_array() [1/3]

template<typename TContainer , std::size_t D>
til::multi_array< TContainer, D >::multi_array ( )
inline

Definition at line 684 of file multi_array.h.

◆ multi_array() [2/3]

template<typename TContainer , std::size_t D>
til::multi_array< TContainer, D >::multi_array ( const coord_type dims)
inlineexplicit

Definition at line 685 of file multi_array.h.

◆ multi_array() [3/3]

template<typename TContainer , std::size_t D>
til::multi_array< TContainer, D >::multi_array ( const coord_type dims,
value_type  v 
)
inline

Definition at line 686 of file multi_array.h.


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