|
STK++ 1.0
|
Interface base class for all containers implementing the curious recursive template paradigm. More...
#include <STK_IContainerBase.h>
Public Types | |
| enum | Dimension { _1D_ = 1, _2D_ = 2, _3D_ = 3, _4D_ = 4 } |
Intrinsic dimension of the container : 1D, 2D, 3D or 4D. More... | |
Public Member Functions | |
| virtual | ~IContainerBase () |
| Virtual Destructor. | |
| Dimension const & | dim () const |
| Get dimension of the container. | |
Protected Member Functions | |
| IContainerBase (Dimension dim) | |
| Default Constructor. | |
Protected Attributes | |
| std::vector< Range const * > | ranges_ |
| Array of the ranges of the containers. | |
Private Attributes | |
| Dimension | dim_ |
| Intrinsic dimension of the container :: 1D, 2D, 3D or 4D. | |
Interface base class for all containers implementing the curious recursive template paradigm.
Implement the curious recursive template paradigm : the template parameter Container is the type of the leaf class that implements IContainerBase. A constant reference/pointer on the derived type can be obtained using the methods asLeaf and asPtrLeaf.
The default constructor of derived containers is of the form
MyContainer1D c( Range const& r1); MyContainer2D c( Range const& r1, Range const& r2); MyContainer3D c( Range const& r1, Range const& r2, Range const& r3); ...
up to the fourth dimension.
A container with the same type and the same dimensions can be constructed using the clone() pure virtual method defined in IRecursiveTemplate class.
Definition at line 71 of file STK_IContainerBase.h.
| enum STK::IContainerBase::Dimension |
| STK::IContainerBase< Container >::IContainerBase | ( | Dimension | dim | ) | [inline, protected] |
| virtual STK::IContainerBase< Container >::~IContainerBase | ( | ) | [inline, virtual] |
| Dimension const& STK::IContainerBase< Container >::dim | ( | ) | const [inline] |
Get dimension of the container.
Definition at line 107 of file STK_IContainerBase.h.
{ return dim_;}
std::vector<Range const* > STK::IContainerBase< Container >::ranges_ [protected] |
Array of the ranges of the containers.
Definition at line 86 of file STK_IContainerBase.h.
Dimension STK::IContainerBase< Container >::dim_ [private] |
Intrinsic dimension of the container :: 1D, 2D, 3D or 4D.
More dimensions are not allowed.
Definition at line 112 of file STK_IContainerBase.h.
Referenced by STK::IContainerBase< ArrayHo< TYPE > >::dim().