vSMC
vSMC: Scalable Monte Carlo
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
vsmc::Array< T, N > Class Template Reference

Static array. More...

#include <vsmc/utility/array.hpp>

Public Types

typedef const_pointer const_iterator
 
typedef const value_typeconst_pointer
 
typedef const value_typeconst_reference
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef std::ptrdiff_t difference_type
 
typedef pointer iterator
 
typedef value_typepointer
 
typedef value_typereference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::size_t size_type
 
typedef T value_type
 

Public Member Functions

reference at (size_type pos)
 
const_reference at (size_type pos) const
 
template<size_type Pos>
reference at ()
 
template<size_type Pos>
const_reference at () const
 
template<size_type Pos>
reference at (Position< Pos >)
 
template<size_type Pos>
const_reference at (Position< Pos >) const
 
reference back ()
 
const_reference back () const
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
pointer data ()
 
const_pointer data () const
 
iterator end ()
 
const_iterator end () const
 
void fill (const T &value)
 
reference front ()
 
const_reference front () const
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
template<size_type Pos>
reference operator[] (Position< Pos >)
 
template<size_type Pos>
const_reference operator[] (Position< Pos >) const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
template<typename Archive >
void serialize (Archive &ar, const unsigned)
 
template<typename Archive >
void serialize (Archive &ar, const unsigned) const
 
void swap (Array< T, N > &other)
 

Static Public Member Functions

static constexpr bool empty ()
 
static constexpr size_type max_size ()
 
static constexpr size_type size ()
 

Friends

bool operator!= (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
bool operator< (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const Array< T, N > &ary)
 
bool operator<= (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
bool operator== (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
bool operator> (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
bool operator>= (const Array< T, N > &ary1, const Array< T, N > &ary2)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, Array< T, N > &ary)
 

Detailed Description

template<typename T, std::size_t N>
class vsmc::Array< T, N >

Static array.

The Array container is almost identical to std::array with a few minor differences.

It also provides a few other member functions not presented in std::array, see the documents.

Definition at line 79 of file array.hpp.

Member Typedef Documentation

template<typename T, std::size_t N>
typedef const_pointer vsmc::Array< T, N >::const_iterator

Definition at line 91 of file array.hpp.

template<typename T, std::size_t N>
typedef const value_type* vsmc::Array< T, N >::const_pointer

Definition at line 89 of file array.hpp.

template<typename T, std::size_t N>
typedef const value_type& vsmc::Array< T, N >::const_reference

Definition at line 87 of file array.hpp.

template<typename T, std::size_t N>
typedef std::reverse_iterator<const_iterator> vsmc::Array< T, N >::const_reverse_iterator

Definition at line 93 of file array.hpp.

template<typename T, std::size_t N>
typedef std::ptrdiff_t vsmc::Array< T, N >::difference_type

Definition at line 85 of file array.hpp.

template<typename T, std::size_t N>
typedef pointer vsmc::Array< T, N >::iterator

Definition at line 90 of file array.hpp.

template<typename T, std::size_t N>
typedef value_type* vsmc::Array< T, N >::pointer

Definition at line 88 of file array.hpp.

template<typename T, std::size_t N>
typedef value_type& vsmc::Array< T, N >::reference

Definition at line 86 of file array.hpp.

template<typename T, std::size_t N>
typedef std::reverse_iterator<iterator> vsmc::Array< T, N >::reverse_iterator

Definition at line 92 of file array.hpp.

template<typename T, std::size_t N>
typedef std::size_t vsmc::Array< T, N >::size_type

Definition at line 84 of file array.hpp.

template<typename T, std::size_t N>
typedef T vsmc::Array< T, N >::value_type

Definition at line 83 of file array.hpp.

Member Function Documentation

template<typename T, std::size_t N>
reference vsmc::Array< T, N >::at ( size_type  pos)
inline

Definition at line 101 of file array.hpp.

template<typename T, std::size_t N>
const_reference vsmc::Array< T, N >::at ( size_type  pos) const
inline

Definition at line 108 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
reference vsmc::Array< T, N >::at ( )
inline

Definition at line 265 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
const_reference vsmc::Array< T, N >::at ( ) const
inline

Definition at line 272 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
reference vsmc::Array< T, N >::at ( Position< Pos >  )
inline

Definition at line 279 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
const_reference vsmc::Array< T, N >::at ( Position< Pos >  ) const
inline

Definition at line 286 of file array.hpp.

template<typename T, std::size_t N>
reference vsmc::Array< T, N >::back ( )
inline

Definition at line 123 of file array.hpp.

template<typename T, std::size_t N>
const_reference vsmc::Array< T, N >::back ( ) const
inline

Definition at line 125 of file array.hpp.

template<typename T, std::size_t N>
iterator vsmc::Array< T, N >::begin ( )
inline

Definition at line 131 of file array.hpp.

template<typename T, std::size_t N>
const_iterator vsmc::Array< T, N >::begin ( ) const
inline

Definition at line 135 of file array.hpp.

template<typename T, std::size_t N>
const_iterator vsmc::Array< T, N >::cbegin ( ) const
inline

Definition at line 139 of file array.hpp.

template<typename T, std::size_t N>
const_iterator vsmc::Array< T, N >::cend ( ) const
inline

Definition at line 141 of file array.hpp.

template<typename T, std::size_t N>
const_reverse_iterator vsmc::Array< T, N >::crbegin ( ) const
inline

Definition at line 153 of file array.hpp.

template<typename T, std::size_t N>
const_reverse_iterator vsmc::Array< T, N >::crend ( ) const
inline

Definition at line 156 of file array.hpp.

template<typename T, std::size_t N>
pointer vsmc::Array< T, N >::data ( )
inline

Definition at line 127 of file array.hpp.

template<typename T, std::size_t N>
const_pointer vsmc::Array< T, N >::data ( ) const
inline

Definition at line 129 of file array.hpp.

template<typename T, std::size_t N>
static constexpr bool vsmc::Array< T, N >::empty ( )
inlinestatic

Definition at line 159 of file array.hpp.

template<typename T, std::size_t N>
iterator vsmc::Array< T, N >::end ( )
inline

Definition at line 133 of file array.hpp.

template<typename T, std::size_t N>
const_iterator vsmc::Array< T, N >::end ( ) const
inline

Definition at line 137 of file array.hpp.

template<typename T, std::size_t N>
void vsmc::Array< T, N >::fill ( const T &  value)
inline

Definition at line 166 of file array.hpp.

template<typename T, std::size_t N>
reference vsmc::Array< T, N >::front ( )
inline

Definition at line 119 of file array.hpp.

template<typename T, std::size_t N>
const_reference vsmc::Array< T, N >::front ( ) const
inline

Definition at line 121 of file array.hpp.

template<typename T, std::size_t N>
static constexpr size_type vsmc::Array< T, N >::max_size ( )
inlinestatic

Definition at line 163 of file array.hpp.

template<typename T, std::size_t N>
reference vsmc::Array< T, N >::operator[] ( size_type  pos)
inline

Definition at line 115 of file array.hpp.

template<typename T, std::size_t N>
const_reference vsmc::Array< T, N >::operator[] ( size_type  pos) const
inline

Definition at line 117 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
reference vsmc::Array< T, N >::operator[] ( Position< Pos >  )
inline

Definition at line 293 of file array.hpp.

template<typename T, std::size_t N>
template<size_type Pos>
const_reference vsmc::Array< T, N >::operator[] ( Position< Pos >  ) const
inline

Definition at line 296 of file array.hpp.

template<typename T, std::size_t N>
reverse_iterator vsmc::Array< T, N >::rbegin ( )
inline

Definition at line 143 of file array.hpp.

template<typename T, std::size_t N>
const_reverse_iterator vsmc::Array< T, N >::rbegin ( ) const
inline

Definition at line 147 of file array.hpp.

template<typename T, std::size_t N>
reverse_iterator vsmc::Array< T, N >::rend ( )
inline

Definition at line 145 of file array.hpp.

template<typename T, std::size_t N>
const_reverse_iterator vsmc::Array< T, N >::rend ( ) const
inline

Definition at line 150 of file array.hpp.

template<typename T, std::size_t N>
template<typename Archive >
void vsmc::Array< T, N >::serialize ( Archive &  ar,
const unsigned   
)
inline

Definition at line 96 of file array.hpp.

template<typename T, std::size_t N>
template<typename Archive >
void vsmc::Array< T, N >::serialize ( Archive &  ar,
const unsigned   
) const
inline

Definition at line 99 of file array.hpp.

template<typename T, std::size_t N>
static constexpr size_type vsmc::Array< T, N >::size ( )
inlinestatic

Definition at line 161 of file array.hpp.

template<typename T, std::size_t N>
void vsmc::Array< T, N >::swap ( Array< T, N > &  other)
inline

Definition at line 172 of file array.hpp.

Friends And Related Function Documentation

template<typename T, std::size_t N>
bool operator!= ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 190 of file array.hpp.

template<typename T, std::size_t N>
bool operator< ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 194 of file array.hpp.

template<typename T, std::size_t N>
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< ( std::basic_ostream< CharT, Traits > &  os,
const Array< T, N > &  ary 
)
friend

Definition at line 229 of file array.hpp.

template<typename T, std::size_t N>
bool operator<= ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 220 of file array.hpp.

template<typename T, std::size_t N>
bool operator== ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 180 of file array.hpp.

template<typename T, std::size_t N>
bool operator> ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 207 of file array.hpp.

template<typename T, std::size_t N>
bool operator>= ( const Array< T, N > &  ary1,
const Array< T, N > &  ary2 
)
friend

Definition at line 224 of file array.hpp.

template<typename T, std::size_t N>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> ( std::basic_istream< CharT, Traits > &  is,
Array< T, N > &  ary 
)
friend

Definition at line 243 of file array.hpp.