libMesh::RawAccessor< FieldType > Class Template Reference

#include <raw_accessor.h>

List of all members.

Public Member Functions

 RawAccessor (FieldType &data, const unsigned int dim)
 ~RawAccessor ()
RawFieldType< FieldType >::type & operator() (unsigned int i)
const RawFieldType< FieldType >
::type & 
operator() (unsigned int i) const
template<>
Numberoperator() (unsigned int i)
template<>
Numberoperator() (unsigned int i)
template<>
Numberoperator() (unsigned int k)
template<>
Realoperator() (unsigned int i)
template<>
Realoperator() (unsigned int i)
template<>
Realoperator() (unsigned int k)

Private Member Functions

 RawAccessor ()

Private Attributes

FieldType & _data
const unsigned int _dim

Detailed Description

template<typename FieldType>
class libMesh::RawAccessor< FieldType >

This class provides single index access to FieldType (i.e. Number, Gradient, Tensor, etc.).

Definition at line 93 of file raw_accessor.h.


Constructor & Destructor Documentation

template<typename FieldType>
libMesh::RawAccessor< FieldType >::RawAccessor ( FieldType &  data,
const unsigned int  dim 
) [inline]

Definition at line 97 of file raw_accessor.h.

00098       : _data(data),
00099         _dim(dim)
00100     {}

template<typename FieldType>
libMesh::RawAccessor< FieldType >::~RawAccessor (  )  [inline]

Definition at line 102 of file raw_accessor.h.

00102 {};

template<typename FieldType>
libMesh::RawAccessor< FieldType >::RawAccessor (  )  [private]

Member Function Documentation

template<>
Real & libMesh::RawAccessor< RealTensor >::operator() ( unsigned int  k  )  [inline]

Definition at line 197 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data, and libMesh::RawAccessor< FieldType >::_dim.

00198 {
00199   libmesh_assert_less (k, this->_dim*this->_dim);
00200 
00201   // For tensors, each row is filled first, i.e. for 2-D
00202   // [ 0 1; 2 3]
00203   // Thus, k(i,j) = i + j*dim
00204   unsigned int jj = k/_dim;
00205   unsigned int ii = k - jj*_dim;
00206 
00207   return this->_data(ii,jj);
00208 }

template<>
Real & libMesh::RawAccessor< RealGradient >::operator() ( unsigned int  i  )  [inline]

Definition at line 189 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data, and libMesh::RawAccessor< FieldType >::_dim.

00190 {
00191   libmesh_assert_less (i, this->_dim);
00192   return this->_data(i);
00193 }

template<>
Real & libMesh::RawAccessor< Real >::operator() ( unsigned int  i  )  [inline]

Definition at line 181 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data.

00182 {
00183   libmesh_assert_equal_to (i, 0);
00184   return this->_data;
00185 }

template<>
Number & libMesh::RawAccessor< Tensor >::operator() ( unsigned int  k  )  [inline]

Definition at line 133 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data, and libMesh::RawAccessor< FieldType >::_dim.

00134 {
00135   libmesh_assert_less (k, this->_dim*this->_dim);
00136 
00137   // For tensors, each row is filled first, i.e. for 2-D
00138   // [ 0 1; 2 3]
00139   // Thus, k(i,j) = j + i*dim
00140   unsigned int ii = k/_dim;
00141   unsigned int jj = k - ii*_dim;
00142 
00143   return this->_data(ii,jj);
00144 }

template<>
Number & libMesh::RawAccessor< Gradient >::operator() ( unsigned int  i  )  [inline]

Definition at line 125 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data, and libMesh::RawAccessor< FieldType >::_dim.

00126 {
00127   libmesh_assert_less (i, this->_dim);
00128   return this->_data(i);
00129 }

template<>
Number & libMesh::RawAccessor< Number >::operator() ( unsigned int  i  )  [inline]

Definition at line 117 of file raw_accessor.h.

References libMesh::RawAccessor< FieldType >::_data.

00118 {
00119   libmesh_assert_equal_to (i, 0);
00120   return this->_data;
00121 }

template<typename FieldType>
const RawFieldType<FieldType>::type& libMesh::RawAccessor< FieldType >::operator() ( unsigned int  i  )  const
template<typename FieldType>
RawFieldType<FieldType>::type& libMesh::RawAccessor< FieldType >::operator() ( unsigned int  i  ) 

Member Data Documentation

template<typename FieldType>
FieldType& libMesh::RawAccessor< FieldType >::_data [private]

Definition at line 110 of file raw_accessor.h.

Referenced by libMesh::RawAccessor< FieldType >::operator()().

template<typename FieldType>
const unsigned int libMesh::RawAccessor< FieldType >::_dim [private]

Definition at line 111 of file raw_accessor.h.

Referenced by libMesh::RawAccessor< FieldType >::operator()().


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

Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:35 UTC

Hosted By:
SourceForge.net Logo