OpenWalnut  1.3.1
Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | Friends | List of all members
WTensorBase< 0, dim, Data_T > Class Template Reference

#include <WTensorBase.h>

Public Member Functions

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

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. More...
 

Private Attributes

Data_T m_data
 Stores the value. More...
 

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)
inlineexplicit

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  [])
inlinestaticprivate

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: