Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
internal::TableBaseAccessors::Accessor< N, T, C, P > Class Template Reference

Public Types

typedef Types< N, T, C >::TableType TableType
 
typedef Types< N, T, C >::iterator iterator
 
typedef Types< N, T, C >
::const_iterator 
const_iterator
 

Public Member Functions

 Accessor (const Accessor &a)
 
Accessor< N, T, C, P-1 > operator[] (const unsigned int i) const
 
 DeclException3 (ExcIndexRange, int, int, int,<< "Index "<< N-P+1<< "has a value of "<< arg1<< " but needs to be in the range ["<< arg2<< ","<< arg3<< "[")
 

Private Member Functions

 Accessor (const TableType &table, const iterator data)
 
 Accessor ()
 

Private Attributes

const TableType & table
 
const iterator data
 

Friends

template<int N1, typename T1 >
class ::Table
 
template<int N1, typename T1 , bool C1, unsigned int P1>
class Accessor
 
class ::Table< N, T >
 
class Accessor< N, T, C, P+1 >
 

Detailed Description

template<int N, typename T, bool C, unsigned int P>
class internal::TableBaseAccessors::Accessor< N, T, C, P >

Definition at line 155 of file table.h.

Constructor & Destructor Documentation

template<int N, typename T, bool C, unsigned int P>
internal::TableBaseAccessors::Accessor< N, T, C, P >::Accessor ( const TableType &  table,
const iterator  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.

template<int N, typename T, bool C, unsigned int P>
internal::TableBaseAccessors::Accessor< N, T, C, P >::Accessor ( )
private

Default constructor. Not needed, and invisible, so private.

template<int N, typename T, bool C, unsigned int P>
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.

Member Function Documentation

template<int N, typename T, bool C, unsigned int P>
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.

template<int N, typename T, bool C, unsigned int P>
internal::TableBaseAccessors::Accessor< N, T, C, P >::DeclException3 ( ExcIndexRange  ,
int  ,
int  ,
int  ,
<< "Index "<< N-P+1<< "has a value of "<< arg1<< " but needs to be in the range ["<< arg2<< "  ,
"<< arg3<< "["   
)

Exception for range check. Do not use global exception since this way we can output which index is the wrong one.

Member Data Documentation

template<int N, typename T, bool C, unsigned int P>
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.

Definition at line 224 of file table.h.


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