Classes | |
class | ExcIndexRange |
Public Types | |
typedef Types< N, T, C > ::value_type * | pointer |
typedef Types< N, T, C >::TableType | TableType |
Public Member Functions | |
Accessor (const Accessor &a) | |
Accessor< N, T, C, P-1 > | operator[] (const unsigned int i) const |
Private Member Functions | |
Accessor (const TableType &table, const pointer data) | |
Accessor () | |
Private Attributes | |
const TableType & | table |
const pointer | data |
Friends | |
class | ::Table |
class | Accessor |
class | ::Table< N, T > |
class | Accessor< N, T, C, P+1 > |
typedef Types<N,T,C>::value_type* internal::TableBaseAccessors::Accessor< N, T, C, P >::pointer |
Import two typedefs from the switch class above.
typedef Types<N,T,C>::TableType internal::TableBaseAccessors::Accessor< N, T, C, P >::TableType |
internal::TableBaseAccessors::Accessor< N, T, C, P >::Accessor | ( | const TableType & | table, | |
const pointer | data | |||
) | [private] |
Constructor. Take a pointer to the table object to know about the sizes of the various dimensions, and a pointer to the subset of data we may access.
internal::TableBaseAccessors::Accessor< N, T, C, P >::Accessor | ( | ) | [private] |
Default constructor. Not needed, and invisible, so private.
internal::TableBaseAccessors::Accessor< N, T, C, P >::Accessor | ( | const Accessor< N, T, C, P > & | a | ) |
Copy constructor. This constructor is public so that one can pass sub-tables to functions as arguments, as in f(table[i])
.
Using this constructor is risky if accessors are stored longer than the table it points to. Don't do this.
Accessor<N,T,C,P-1> internal::TableBaseAccessors::Accessor< N, T, C, P >::operator[] | ( | const unsigned int | i | ) | const |
Index operator. Performs a range check.
friend class ::Table [friend] |
friend class Accessor [friend] |
friend class ::Table< N, T > [friend] |
friend class Accessor< N, T, C, P+1 > [friend] |
const TableType& internal::TableBaseAccessors::Accessor< N, T, C, P >::table [private] |
Store the data given to the constructor. There are no non-const member functions of this class, so there is no reason not to make these elements constant.
const pointer internal::TableBaseAccessors::Accessor< N, T, C, P >::data [private] |