Public Member Functions | Protected Member Functions

TransposeTable< T > Class Template Reference
[Data storage primitives]

Inheritance diagram for TransposeTable< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 TransposeTable ()
 TransposeTable (const unsigned int size1, const unsigned int size2)
void reinit (const unsigned int size1, const unsigned int size2, const bool fast=false)
std::vector< T >::const_reference operator() (const unsigned int i, const unsigned int j) const
std::vector< T >::reference operator() (const unsigned int i, const unsigned int j)
unsigned int n_rows () const
unsigned int n_cols () const

Protected Member Functions

std::vector< T >::reference el (const unsigned int i, const unsigned int j)
std::vector< T >::const_reference el (const unsigned int i, const unsigned int j) const

Detailed Description

template<typename T>
class TransposeTable< T >

A class representing a transpose two-dimensional table, i.e. a matrix of objects (not necessarily only numbers) in column first numbering (FORTRAN convention). The only real difference is therefore really in the storage format.

This class copies the functions of Table<2,T>, but the element access and the dimensions will be for the transpose ordering of the data field in TableBase.

Author:
Guido Kanschat, 2005

Definition at line 1591 of file table.h.


Constructor & Destructor Documentation

template<typename T>
TransposeTable< T >::TransposeTable (  )

Default constructor. Set all dimensions to zero.

template<typename T>
TransposeTable< T >::TransposeTable ( const unsigned int  size1,
const unsigned int  size2 
)

Constructor. Pass down the given dimensions to the base class.


Member Function Documentation

template<typename T>
void TransposeTable< T >::reinit ( const unsigned int  size1,
const unsigned int  size2,
const bool  fast = false 
)

Reinitialize the object. This function is mostly here for compatibility with the earlier vector2d class. Passes down to the base class by converting the arguments to the data type requested by the base class.

template<typename T>
std::vector<T>::const_reference TransposeTable< T >::operator() ( const unsigned int  i,
const unsigned int  j 
) const

Direct access to one element of the table by specifying all indices at the same time. Range checks are performed.

This version of the function only allows read access.

template<typename T>
std::vector<T>::reference TransposeTable< T >::operator() ( const unsigned int  i,
const unsigned int  j 
)

Direct access to one element of the table by specifying all indices at the same time. Range checks are performed.

This version of the function allows read-write access.

template<typename T>
unsigned int TransposeTable< T >::n_rows (  ) const

Number of rows. This function really makes only sense since we have a two-dimensional object here.

template<typename T>
unsigned int TransposeTable< T >::n_cols (  ) const

Number of columns. This function really makes only sense since we have a two-dimensional object here.

template<typename T>
std::vector<T>::reference TransposeTable< T >::el ( const unsigned int  i,
const unsigned int  j 
) [protected]

Return a read-write reference to the element (i,j).

This function does no bounds checking and is only to be used internally and in functions already checked.

These functions are mainly here for compatibility with a former implementation of these table classes for 2d arrays, then called vector2d.

template<typename T>
std::vector<T>::const_reference TransposeTable< T >::el ( const unsigned int  i,
const unsigned int  j 
) const [protected]

Return the value of the element (i,j) as a read-only reference.

This function does no bounds checking and is only to be used internally and in functions already checked.

We return the requested value as a constant reference rather than by value since this object may hold data types that may be large, and we don't know here whether copying is expensive or not.

These functions are mainly here for compatibility with a former implementation of these table classes for 2d arrays, then called vector2d.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:12 by doxygen 1.7.2