OpenWalnut  1.4.0
Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | Friends
WTensorBase< 0, dim, Data_T > Class Template Reference

#include <WTensorBase.h>

List of all members.

Public Member Functions

 WTensorBase ()
 Standard constructor.
 WTensorBase (WTensorBase const &t)
 Copy constructor.
 WTensorBase (WTensorBaseSym< 0, dim, Data_T > const &t)
 Copy construct a WTensorBase from a WTensorBaseSym.
WTensorBase const & operator= (WTensorBase const &t)
 Copy operator.
WTensorBase const & operator= (WTensorBaseSym< 0, dim, Data_T > const &t)
 Copy operator.
std::size_t getDimension () const
 Get the dimension of this tensor.
std::size_t getOrder () const
 Get the order of this tensor.
template<typename Index_T >
Data_T & operator[] (std::vector< Index_T > const &)
 Get the value of this scalar.
template<typename Index_T >
Data_T const & operator[] (std::vector< Index_T > const &) const
 Get the value of this scalar.
template<typename Index_T >
Data_T & operator[] (Index_T[])
 Get the value of this scalar.
template<typename Index_T >
Data_T const & operator[] (Index_T[]) const
 Get the value of this scalar.
bool operator== (WTensorBase const &other) const
 Compare this WTensorBase to another one.
bool operator!= (WTensorBase const &other) const
 Compare this WTensorBase to another one.

Private Types

enum  { dataSize = 1 }
 Declare a compile-time constant as enum and not as static constant. More...

Static Private Member Functions

template<typename Index_T >
static std::size_t getPos (Index_T[])
 Calculate the position of the element in the data vector.

Private Attributes

Data_T m_data
 Stores the value.

Friends

class WTensorBase< 1, dim, Data_T >
class ::WTensorBaseTest
class ::WTensorFuncTest

Detailed Description

template<std::size_t dim, typename Data_T>
class WTensorBase< 0, dim, Data_T >

Template Parameters:
dimThe dimension of the tensor, i.e. the number of components in each direction.
Data_TThe datatype of the components, double by default.

Specialization for order = 0. This essentially encapsulates a scalar. The purpose of this specialization is compatibility for generic tensor functions.

Definition at line 436 of file WTensorBase.h.


Member Enumeration Documentation

template<std::size_t dim, typename Data_T >
anonymous enum [private]

Declare a compile-time constant as enum and not as static constant.

Enumerator:
dataSize 

The number of elements to store.

Definition at line 615 of file WTensorBase.h.


Constructor & Destructor Documentation

template<std::size_t dim, typename Data_T >
WTensorBase< 0, dim, Data_T >::WTensorBase ( ) [inline]

Standard constructor.

All elements are set to Data_T().

Definition at line 454 of file WTensorBase.h.

template<std::size_t dim, typename Data_T >
WTensorBase< 0, dim, Data_T >::WTensorBase ( WTensorBase< 0, dim, Data_T > const &  t) [inline]

Copy constructor.

Parameters:
tThe tensor to copy from.

Definition at line 464 of file WTensorBase.h.

template<std::size_t dim, typename Data_T >
WTensorBase< 0, dim, Data_T >::WTensorBase ( WTensorBaseSym< 0, dim, Data_T > const &  t) [inline, explicit]

Copy construct a WTensorBase from a WTensorBaseSym.

Parameters:
tThe symmetric tensor to copy from.

Definition at line 474 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.


Member Function Documentation

template<std::size_t dim, typename Data_T >
std::size_t WTensorBase< 0, dim, Data_T >::getDimension ( ) const [inline]

Get the dimension of this tensor.

Returns:
The dimension of this tensor.

Definition at line 511 of file WTensorBase.h.

template<std::size_t dim, typename Data_T >
std::size_t WTensorBase< 0, dim, Data_T >::getOrder ( ) const [inline]

Get the order of this tensor.

Returns:
The order of this tensor.

Definition at line 521 of file WTensorBase.h.

template<std::size_t dim, typename Data_T >
template<typename Index_T >
static std::size_t WTensorBase< 0, dim, Data_T >::getPos ( Index_T  []) [inline, static, private]

Calculate the position of the element in the data vector.

This is essentially the standard case of the recursion.

Returns:
0.

Definition at line 602 of file WTensorBase.h.

template<std::size_t dim, typename Data_T >
bool WTensorBase< 0, dim, Data_T >::operator!= ( WTensorBase< 0, dim, Data_T > const &  other) const [inline]

Compare this WTensorBase to another one.

Parameters:
otherThe WBensorBase to compare to.
Returns:
True, iff this tensors' elements are not equal to another tensors' elements.

Definition at line 589 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
WTensorBase const& WTensorBase< 0, dim, Data_T >::operator= ( WTensorBase< 0, dim, Data_T > const &  t) [inline]

Copy operator.

Parameters:
tThe tensor to copy from.
Returns:
*this.

Definition at line 487 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
WTensorBase const& WTensorBase< 0, dim, Data_T >::operator= ( WTensorBaseSym< 0, dim, Data_T > const &  t) [inline]

Copy operator.

Parameters:
tThe symmetric tensor to copy from.
Returns:
*this.

Definition at line 500 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
bool WTensorBase< 0, dim, Data_T >::operator== ( WTensorBase< 0, dim, Data_T > const &  other) const [inline]

Compare this WTensorBase to another one.

Parameters:
otherThe WBensorBase to compare to.
Returns:
True, iff this tensors' elements are equal to another tensors' elements.

Definition at line 577 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
template<typename Index_T >
Data_T& WTensorBase< 0, dim, Data_T >::operator[] ( std::vector< Index_T > const &  ) [inline]

Get the value of this scalar.

Returns:
A reference to the element.

Definition at line 532 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
template<typename Index_T >
Data_T const& WTensorBase< 0, dim, Data_T >::operator[] ( std::vector< Index_T > const &  ) const [inline]

Get the value of this scalar.

Returns:
A reference to the element.

Definition at line 543 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
template<typename Index_T >
Data_T& WTensorBase< 0, dim, Data_T >::operator[] ( Index_T  []) [inline]

Get the value of this scalar.

Returns:
A reference to the element.

Definition at line 554 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.

template<std::size_t dim, typename Data_T >
template<typename Index_T >
Data_T const& WTensorBase< 0, dim, Data_T >::operator[] ( Index_T  []) const [inline]

Get the value of this scalar.

Returns:
A reference to the element.

Definition at line 565 of file WTensorBase.h.

References WTensorBase< order, dim, Data_T >::m_data.


Member Data Documentation

template<std::size_t dim, typename Data_T >
Data_T WTensorBase< 0, dim, Data_T >::m_data [private]

Stores the value.

Definition at line 610 of file WTensorBase.h.


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