VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
CbArray3D< T, IndexClass > Class Template Reference

3D Array More...

#include <CbArray3D.h>

Public Types

using CbArray3DPtr = SPtr< CbArray3D< T, IndexClass > >
 
using value_type = T
 
using indexer_type = IndexClass
 
using size_type = typename IndexClass::size_type
 
using reference = typename std::vector< value_type >::reference
 
using const_reference = typename std::vector< value_type >::const_reference
 
using pointer = typename std::vector< value_type >::pointer
 
using const_pointer = typename std::vector< value_type >::const_pointer
 

Public Member Functions

 CbArray3D ()
 
 CbArray3D (const size_type &nx1, const size_type &nx2, const size_type &nx3, const value_type &val)
 
 CbArray3D (const size_type &nx1, const size_type &nx2, const size_type &nx3)
 
 CbArray3D (const size_type &uniformDimensionSize)
 
 CbArray3D (std::vector< value_type > &vec, const size_type &nx1, const size_type &nx2, const size_type &nx3)
 
 CbArray3D (const CbArray3D &src)
 
template<typename value_type2 >
 CbArray3D (const CbArray3D< value_type2 > &src)
 
virtual ~CbArray3D ()=default
 
CbArray3Doperator= (const CbArray3D &rhs)
 
template<typename value_type2 , typename IndexClass2 >
CbArray3Doperator= (const CbArray3D< value_type2, IndexClass2 > &rhs)
 
bool operator== (const CbArray3D &rhs) const
 
template<typename value_type2 , typename IndexClass2 >
bool operator== (const CbArray3D< value_type2, IndexClass2 > &rhs) const
 
bool operator!= (const CbArray3D &src) const
 
template<typename value_type2 , typename IndexClass2 >
bool operator!= (const CbArray3D< value_type2, IndexClass2 > &rhs) const
 
reference operator() (const size_type &x1, const size_type &x2, const size_type &x3)
 
const_reference operator() (const size_type &x1, const size_type &x2, const size_type &x3) const
 
pointer getStartAdressOfSortedArray (const size_type &x1, const size_type &x2, const size_type &x3)
 
const_pointer getStartAdressOfSortedArray (const size_type &x1, const size_type &x2, const size_type &x3) const
 
void setObject (const size_type &x1, const size_type &x2, const size_type &x3, const value_type &value)
 
reference getObject (const size_type &x1, const size_type &x2, const size_type &x3)
 
const_reference getObject (const size_type &x1, const size_type &x2, const size_type &x3) const
 
bool isEmpty () const
 
size_type getNX1 () const
 
size_type getNX2 () const
 
size_type getNX3 () const
 
void reset (const value_type &val)
 
std::string toString () const
 
std::string getInfo () const
 
void resize (const int &uniformDimensionSize)
 
void resize (const size_type &nx1, const size_type &nx2, const size_type &nx3)
 
void resize (const size_type &nx1, const size_type &nx2, const size_type &nx3, const value_type &val)
 
void clear ()
 
std::vector< value_type > & getDataVector ()
 
const std::vector< value_type > & getDataVector () const
 
std::size_t getDataVectorIndex (const size_type &x1, const size_type &x2, const size_type &x3) const
 
bool indicesInRange (const size_type &x1, const size_type &x2, const size_type &x3) const
 

Protected Member Functions

std::string getExceptionErrorString (const size_type &x1, const size_type &x2, const size_type &x3) const
 

Protected Attributes

size_type nx1
 
size_type nx2
 
size_type nx3
 
indexer_type indexer
 
std::vector< value_typedata
 

Friends

template<typename value_type2 , typename IndexClass2 >
class CbArray3D
 

Detailed Description

template<typename T, typename IndexClass = IndexerX3X2X1>
class CbArray3D< T, IndexClass >

3D Array

The data is stored in a vector

Rangecheck active, if:

-debug : not defined "VF_NO_RANGECHECK"

-release: not defined "VF_NO_RANGECHECK" && defined "VF_RANGECHECK"

Definition at line 144 of file CbArray3D.h.

Member Typedef Documentation

◆ CbArray3DPtr

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::CbArray3DPtr = SPtr<CbArray3D<T, IndexClass> >

Definition at line 147 of file CbArray3D.h.

◆ const_pointer

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::const_pointer = typename std::vector<value_type>::const_pointer

Definition at line 155 of file CbArray3D.h.

◆ const_reference

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::const_reference = typename std::vector<value_type>::const_reference

Definition at line 153 of file CbArray3D.h.

◆ indexer_type

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::indexer_type = IndexClass

Definition at line 150 of file CbArray3D.h.

◆ pointer

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::pointer = typename std::vector<value_type>::pointer

Definition at line 154 of file CbArray3D.h.

◆ reference

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::reference = typename std::vector<value_type>::reference

Definition at line 152 of file CbArray3D.h.

◆ size_type

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::size_type = typename IndexClass::size_type

Definition at line 151 of file CbArray3D.h.

◆ value_type

template<typename T , typename IndexClass = IndexerX3X2X1>
using CbArray3D< T, IndexClass >::value_type = T

Definition at line 149 of file CbArray3D.h.

Constructor & Destructor Documentation

◆ CbArray3D() [1/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( )
inline

Definition at line 163 of file CbArray3D.h.

◆ CbArray3D() [2/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( const size_type nx1,
const size_type nx2,
const size_type nx3,
const value_type val 
)
inline

Definition at line 165 of file CbArray3D.h.

◆ CbArray3D() [3/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( const size_type nx1,
const size_type nx2,
const size_type nx3 
)
inline

Definition at line 170 of file CbArray3D.h.

◆ CbArray3D() [4/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( const size_type uniformDimensionSize)
inline

Definition at line 172 of file CbArray3D.h.

◆ CbArray3D() [5/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( std::vector< value_type > &  vec,
const size_type nx1,
const size_type nx2,
const size_type nx3 
)
inline

Definition at line 178 of file CbArray3D.h.

◆ CbArray3D() [6/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D< T, IndexClass >::CbArray3D ( const CbArray3D< T, IndexClass > &  src)
inline

Definition at line 185 of file CbArray3D.h.

◆ CbArray3D() [7/7]

template<typename T , typename IndexClass = IndexerX3X2X1>
template<typename value_type2 >
CbArray3D< T, IndexClass >::CbArray3D ( const CbArray3D< value_type2 > &  src)
inline

Definition at line 188 of file CbArray3D.h.

◆ ~CbArray3D()

template<typename T , typename IndexClass = IndexerX3X2X1>
virtual CbArray3D< T, IndexClass >::~CbArray3D ( )
virtualdefault

Member Function Documentation

◆ clear()

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::clear ( )
inline

Definition at line 395 of file CbArray3D.h.

◆ getDataVector() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
std::vector< value_type > & CbArray3D< T, IndexClass >::getDataVector ( )
inline

Definition at line 403 of file CbArray3D.h.

◆ getDataVector() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
const std::vector< value_type > & CbArray3D< T, IndexClass >::getDataVector ( ) const
inline

Definition at line 405 of file CbArray3D.h.

◆ getDataVectorIndex()

template<typename T , typename IndexClass = IndexerX3X2X1>
std::size_t CbArray3D< T, IndexClass >::getDataVectorIndex ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inline

Definition at line 407 of file CbArray3D.h.

◆ getExceptionErrorString()

template<typename T , typename IndexClass = IndexerX3X2X1>
std::string CbArray3D< T, IndexClass >::getExceptionErrorString ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inlineprotected

Definition at line 430 of file CbArray3D.h.

◆ getInfo()

template<typename T , typename IndexClass = IndexerX3X2X1>
std::string CbArray3D< T, IndexClass >::getInfo ( ) const
inline

Definition at line 366 of file CbArray3D.h.

◆ getNX1()

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::getNX1 ( ) const
inline

Definition at line 344 of file CbArray3D.h.

◆ getNX2()

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::getNX2 ( ) const
inline

Definition at line 345 of file CbArray3D.h.

◆ getNX3()

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::getNX3 ( ) const
inline

Definition at line 346 of file CbArray3D.h.

◆ getObject() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
reference CbArray3D< T, IndexClass >::getObject ( const size_type x1,
const size_type x2,
const size_type x3 
)
inline

Definition at line 328 of file CbArray3D.h.

◆ getObject() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
const_reference CbArray3D< T, IndexClass >::getObject ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inline

Definition at line 338 of file CbArray3D.h.

◆ getStartAdressOfSortedArray() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
pointer CbArray3D< T, IndexClass >::getStartAdressOfSortedArray ( const size_type x1,
const size_type x2,
const size_type x3 
)
inline

Definition at line 298 of file CbArray3D.h.

◆ getStartAdressOfSortedArray() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
const_pointer CbArray3D< T, IndexClass >::getStartAdressOfSortedArray ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inline

Definition at line 308 of file CbArray3D.h.

◆ indicesInRange()

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::indicesInRange ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inline

Definition at line 420 of file CbArray3D.h.

◆ isEmpty()

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::isEmpty ( ) const
inline

Definition at line 343 of file CbArray3D.h.

◆ operator!=() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::operator!= ( const CbArray3D< T, IndexClass > &  src) const
inline

Definition at line 270 of file CbArray3D.h.

◆ operator!=() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::operator!= ( const CbArray3D< value_type2, IndexClass2 > &  rhs) const
inline

Definition at line 273 of file CbArray3D.h.

◆ operator()() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
reference CbArray3D< T, IndexClass >::operator() ( const size_type x1,
const size_type x2,
const size_type x3 
)
inline

Definition at line 278 of file CbArray3D.h.

◆ operator()() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
const_reference CbArray3D< T, IndexClass >::operator() ( const size_type x1,
const size_type x2,
const size_type x3 
) const
inline

Definition at line 288 of file CbArray3D.h.

◆ operator=() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
CbArray3D & CbArray3D< T, IndexClass >::operator= ( const CbArray3D< T, IndexClass > &  rhs)
inline

Definition at line 198 of file CbArray3D.h.

◆ operator=() [2/2]

Definition at line 221 of file CbArray3D.h.

◆ operator==() [1/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::operator== ( const CbArray3D< T, IndexClass > &  rhs) const
inline

Definition at line 241 of file CbArray3D.h.

◆ operator==() [2/2]

template<typename T , typename IndexClass = IndexerX3X2X1>
bool CbArray3D< T, IndexClass >::operator== ( const CbArray3D< value_type2, IndexClass2 > &  rhs) const
inline

Definition at line 255 of file CbArray3D.h.

◆ reset()

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::reset ( const value_type val)
inline

Definition at line 348 of file CbArray3D.h.

◆ resize() [1/3]

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::resize ( const int uniformDimensionSize)
inline

Definition at line 374 of file CbArray3D.h.

◆ resize() [2/3]

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::resize ( const size_type nx1,
const size_type nx2,
const size_type nx3 
)
inline

Definition at line 379 of file CbArray3D.h.

◆ resize() [3/3]

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::resize ( const size_type nx1,
const size_type nx2,
const size_type nx3,
const value_type val 
)
inline

Definition at line 387 of file CbArray3D.h.

◆ setObject()

template<typename T , typename IndexClass = IndexerX3X2X1>
void CbArray3D< T, IndexClass >::setObject ( const size_type x1,
const size_type x2,
const size_type x3,
const value_type value 
)
inline

Definition at line 318 of file CbArray3D.h.

◆ toString()

template<typename T , typename IndexClass = IndexerX3X2X1>
std::string CbArray3D< T, IndexClass >::toString ( ) const
inline

Definition at line 350 of file CbArray3D.h.

Friends And Related Symbol Documentation

◆ CbArray3D

template<typename T , typename IndexClass = IndexerX3X2X1>
friend class CbArray3D
friend

Definition at line 159 of file CbArray3D.h.

Member Data Documentation

◆ data

template<typename T , typename IndexClass = IndexerX3X2X1>
std::vector<value_type> CbArray3D< T, IndexClass >::data
protected

Definition at line 443 of file CbArray3D.h.

◆ indexer

template<typename T , typename IndexClass = IndexerX3X2X1>
indexer_type CbArray3D< T, IndexClass >::indexer
protected

Definition at line 442 of file CbArray3D.h.

◆ nx1

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::nx1
protected

Definition at line 439 of file CbArray3D.h.

◆ nx2

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::nx2
protected

Definition at line 440 of file CbArray3D.h.

◆ nx3

template<typename T , typename IndexClass = IndexerX3X2X1>
size_type CbArray3D< T, IndexClass >::nx3
protected

Definition at line 441 of file CbArray3D.h.


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