Stores and manipulates dimensions of constructs over composite Hilbert spaces of arbitrary arity. More...
#include <DimensionsBookkeeper.h>
Public Types | |
| typedef ExtTiny< RANK > | Dimensions |
| The dimensions as a static vector of size N_RANK. | |
Public Member Functions | |
| DimensionsBookkeeper (mpl::bool_< IS_CONST >=mpl::false_()) | |
Constructor usable only in the IS_CONST=false case. More... | |
| DimensionsBookkeeper (const Dimensions &dimensions) | |
Standard constructor usable also in the IS_CONST=true case. | |
| const Dimensions & | getDimensions () const |
| Get the Dimensions vector. | |
| size_t | getTotalDimension () const |
| Get the total dimension of a system of arbitrary arity. | |
| size_t | getDimension (mpl::int_< RANK >=mpl::int_< 1 >()) const |
| Get the (single) dimension for a unary system. | |
| size_t | getDimension (size_t i) const |
| void | setDimensions (const Dimensions &dimensions) |
| This will work only in the non-const case. | |
Static Public Attributes | |
| static const int | N_RANK =RANK |
| Arity of the Hilbert space. | |
| static const int | DIMESIONS_BOOKKEEPER_RANK =RANK |
Ditto (to break ambiguity if a class is derived from another base featuring N_RANK). | |
Related Functions | |
(Note that these are not member functions.) | |
| template<int RANK, bool IS_CONST1, bool IS_CONST2> | |
| bool | operator== (const DimensionsBookkeeper< RANK, IS_CONST1 > &d1, const DimensionsBookkeeper< RANK, IS_CONST2 > &d2) |
| dimensionality comparison for types derived from DimensionsBookkeeper More... | |
| template<int RANK, bool IS_CONST1, bool IS_CONST2> | |
| bool | operator!= (const DimensionsBookkeeper< RANK, IS_CONST1 > &d1, const DimensionsBookkeeper< RANK, IS_CONST2 > &d2) |
| dimensionality comparison for types derived from DimensionsBookkeeper More... | |
Stores and manipulates dimensions of constructs over composite Hilbert spaces of arbitrary arity.
It can be either constant or non-constant depending on the second template parameter.
| RANK | arity of the Hilbert space |
| IS_CONST | Governs the constness |
Definition at line 28 of file DimensionsBookkeeper.h.
|
inlineexplicit |
Constructor usable only in the IS_CONST=false case.
The aim of the dummy argument with a default value – which creates a nonsensical function signature for IS_CONST=true – is that this constructor only compile for IS_CONST=false because it is only in the non-constant case that we allow default construction of the class.
Since from a template only such parts are compiled as are actually used, a client can use the class in the case IS_CONST=true without problems, getting a compile-time error only when trying to default-construct such an object.
Definition at line 44 of file DimensionsBookkeeper.h.
|
related |
dimensionality comparison for types derived from DimensionsBookkeeper
Definition at line 77 of file DimensionsBookkeeper.h.
|
related |
dimensionality comparison for types derived from DimensionsBookkeeper
Definition at line 69 of file DimensionsBookkeeper.h.