static_array_4d Class Template Reference
[Containers Library]

#include <stlsoft/containers/static_array.hpp>

Inheritance diagram for static_array_4d:

null_allocator stl_collection_tag allocator_base collection_tag

List of all members.


Detailed Description

template<typename T, size_t N0, size_t N1, size_t N2, size_t N3, typename P = do_construction<T>, typename M = T[N0 * N1 * N2 * N3]>
class stlsoft::static_array_4d< T, N0, N1, N2, N3, P, M >

4 dimensional static array

Parameters:
T The value type
N0 The first dimension extent
N1 The second dimension extent
N2 The third dimension extent
P The construction policy type

Public Types

typedef static_array_4d< T, N0,
N1, N2, N3, P, M > 
class_type
 The parameterisation of the class.
typedef static_array_3d< T, N1,
N2, N3, P, T * > 
dimension_type
typedef null_allocator< T > allocator_type
typedef P policy_type
typedef T value_type
 The value type.
typedef value_typereference
 The reference type.
typedef value_type const & const_reference
 The non-mutating (const) reference type.
typedef value_typepointer
 The pointer type.
typedef value_type const * const_pointer
 The non-mutating (const) pointer type.
typedef size_t size_type
 The size type.
typedef size_t index_type
typedef ss_ptrdiff_t difference_type
 The difference type.
typedef pointer_iterator
< value_type, pointer,
reference >::type 
iterator
typedef pointer_iterator
< value_type const
, const_pointer,
const_reference >::type 
const_iterator

Public Member Functions

 static_array_4d (T *data)
 static_array_4d (value_type const &t)
 static_array_4d (class_type const &rhs)
reference at (index_type i0, index_type i1, index_type i2, index_type i3)
const_reference at (index_type i0, index_type i1, index_type i2, index_type i3) const
reference at_unchecked (index_type i0, index_type i1, index_type i2, index_type i3)
const_reference at_unchecked (index_type i0, index_type i1, index_type i2, index_type i3) const
dimension_type at (index_type i0)
const dimension_type at (index_type i0) const
dimension_type at_unchecked (index_type i0)
const dimension_type at_unchecked (index_type i0) const
dimension_type operator[] (index_type i0)
const dimension_type operator[] (index_type i0) const
reference front ()
reference back ()
const_reference front () const
const_reference back () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
value_type const * data () const

Static Public Member Functions

static index_type dimension0 ()
static index_type dimension1 ()
static index_type dimension2 ()
static index_type dimension3 ()
static index_type size ()
static bool empty ()
static size_type max_size ()

Protected Member Functions

pointer data_ ()
index_type calc_index_ (index_type i0, index_type i1, index_type i2, index_type i3) const
void range_check_ (index_type i0, index_type i1, index_type i2, index_type i3) const throw ( std:: out_of_range )
void range_check_ (index_type i0, index_type i1, index_type i2) const throw ( std:: out_of_range )
void range_check_ (index_type i0) const throw ( std:: out_of_range )

Member Typedef Documentation

typedef static_array_4d<T, N0, N1, N2, N3, P, M> class_type

The parameterisation of the class.

Reimplemented from null_allocator.

typedef T value_type

The value type.

Reimplemented from null_allocator.

The reference type.

Reimplemented from null_allocator.

typedef value_type const& const_reference

The non-mutating (const) reference type.

Reimplemented from null_allocator.

typedef value_type* pointer

The pointer type.

Reimplemented from null_allocator.

typedef value_type const* const_pointer

The non-mutating (const) pointer type.

Reimplemented from null_allocator.

typedef size_t size_type

The size type.

Reimplemented from null_allocator.

The difference type.

Reimplemented from null_allocator.


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

Generated on Thu Jun 10 08:58:44 2010 for STLSoft by  doxygen 1.5.6