CNORXZ
Container with Native Operation Routines and Expressions
|
#include <mrange.h>
Public Types | |
typedef IndexInterface< GMIndex< FormatT, Indices... >, Tuple< typename Indices::MetaType... > > | IB |
typedef Tuple< typename Indices::MetaType... > | MetaType |
typedef MRange< typename Indices::RangeType... > | RangeType |
Static Public Attributes | |
static constexpr SizeT | NI = sizeof...(Indices) |
Additional Inherited Members | |
Protected Attributes inherited from CNORXZ::IndexInterface< GMIndex< FormatT, Indices... >, Tuple< Indices::MetaType... > > | |
SizeT | mPos |
Multi-index with fixed number of sub-indices of arbitrary type and arbitrary index format.
FormatT | Index format type. |
Indices | Sub-index types. |
typedef IndexInterface<GMIndex<FormatT,Indices...>, Tuple<typename Indices::MetaType...> > CNORXZ::GMIndex< FormatT, Indices >::IB |
|
constexprdefault |
Default constructor.
|
constexprdefault |
Move constructor (default).
|
constexpr |
Copy constructor (no default, copy sub-index instances).
Definition at line 155 of file mrange.cc.h.
|
constexpr |
Construct from index pack.
Definition at line 181 of file mrange.cc.h.
|
constexpr |
Construct from index pack and format.
Definition at line 197 of file mrange.cc.h.
Construct from index pointers.
Definition at line 210 of file mrange.cc.h.
|
constexpr |
Construct from index pointers and format.
Definition at line 226 of file mrange.cc.h.
|
constexpr |
Construct from range.
Definition at line 240 of file mrange.cc.h.
|
constexpr |
Construct from range and format.
Definition at line 256 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::at | ( | const MetaType & | metaPos | ) |
set index position so that it's meta data matches input
meta | meta data to be matched |
Definition at line 433 of file mrange.cc.h.
auto CNORXZ::GMIndex< FormatT, Indices >::deepFormat | ( | ) | const |
recursive index format
Definition at line 537 of file mrange.cc.h.
auto CNORXZ::GMIndex< FormatT, Indices >::deepMax | ( | ) | const |
max of all single-indices (recursive)
Definition at line 544 of file mrange.cc.h.
|
constexpr |
index dimension
Definition at line 392 of file mrange.cc.h.
const auto & CNORXZ::GMIndex< FormatT, Indices >::format | ( | ) | const |
Get index format.
Definition at line 507 of file mrange.cc.h.
bool CNORXZ::GMIndex< FormatT, Indices >::formatIsTrivial | ( | ) | const |
check is format is trivial
Definition at line 461 of file mrange.cc.h.
IndexId< 0 > CNORXZ::GMIndex< FormatT, Indices >::id | ( | ) | const |
index ID
Definition at line 380 of file mrange.cc.h.
|
constexpr |
Definition at line 455 of file mrange.cc.h.
|
constexpr |
create a for-loop expression
Xpr | loop internal expression |
F | accumulating function |
xpr | loop internal expression |
f | accumulating function |
CNORXZ::GMIndex< FormatT, Indices >::INDEX_RANDOM_ACCESS_ITERATOR_DEFS | ( | MetaType | ) |
lexicographic position
Definition at line 357 of file mrange.cc.h.
const auto & CNORXZ::GMIndex< FormatT, Indices >::lexFormat | ( | ) | const |
Get lexicographic index format.
Definition at line 518 of file mrange.cc.h.
maximal lexicographic position
Definition at line 374 of file mrange.cc.h.
GMIndex< FormatT, Indices... >::MetaType CNORXZ::GMIndex< FormatT, Indices >::meta | ( | ) | const |
return meta data at current index position
Definition at line 426 of file mrange.cc.h.
|
constexpr |
Definition at line 137 of file mrange.cc.h.
|
constexpr |
Definition at line 30 of file mrange.cc.h.
|
constexpr |
Definition at line 78 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator() | ( | ) |
Update index position according to the sub-indices.
Definition at line 494 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator() | ( | const Sptr< MIndex< Indices... > > & | mi | ) |
Replace sub-index instances and update index position correspondingly.
new | index instances. |
Definition at line 486 of file mrange.cc.h.
GMIndex< FormatT, Indices... >::MetaType CNORXZ::GMIndex< FormatT, Indices >::operator* | ( | ) | const |
return meta data at current index position
Definition at line 386 of file mrange.cc.h.
GMIndex< FormatT, Indices... > CNORXZ::GMIndex< FormatT, Indices >::operator+ | ( | Int | n | ) | const |
return index with lexicographic index position incremented n times
n |
Definition at line 309 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator++ | ( | ) |
increment lexicographic index position
Definition at line 285 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator+= | ( | Int | n | ) |
increment lexicographic index position n times
n |
Definition at line 329 of file mrange.cc.h.
SizeT CNORXZ::GMIndex< FormatT, Indices >::operator- | ( | const GMIndex< FormatT, Indices > & | i | ) | const |
Definition at line 323 of file mrange.cc.h.
GMIndex< FormatT, Indices... > CNORXZ::GMIndex< FormatT, Indices >::operator- | ( | Int | n | ) | const |
return index with lexicographic index position decremented n times
n |
Definition at line 316 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator-- | ( | ) |
decrement lexicographic index position
Definition at line 297 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator-= | ( | Int | n | ) |
decrement lexicographic index position n times
n |
Definition at line 343 of file mrange.cc.h.
|
constexpr |
Copy assignment (no default, copy sub-index instances).
Definition at line 168 of file mrange.cc.h.
|
constexprdefault |
Move assignment (default).
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::operator= | ( | SizeT | pos | ) |
Definition at line 269 of file mrange.cc.h.
const SPack< Indices... > & CNORXZ::GMIndex< FormatT, Indices >::pack | ( | ) | const |
Get index pack.
Definition at line 501 of file mrange.cc.h.
maximal memory position
Definition at line 368 of file mrange.cc.h.
RangePtr CNORXZ::GMIndex< FormatT, Indices >::prange | ( | const GMIndex< FormatT, Indices... > & | last | ) | const |
create partial range starting at this index' position and ending at the position of input index. The end position is included!
end | end index |
Definition at line 524 of file mrange.cc.h.
Sptr< typename GMIndex< FormatT, Indices... >::RangeType > CNORXZ::GMIndex< FormatT, Indices >::range | ( | ) | const |
pointer to the range the index is defined on
Definition at line 398 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::reformat | ( | const Vector< SizeT > & | f, |
const Vector< SizeT > & | s ) |
reformat index, create new index instance
f | new format |
s | new sub-index sizes |
Definition at line 552 of file mrange.cc.h.
GMIndex< FormatT, Indices... > & CNORXZ::GMIndex< FormatT, Indices >::setFormat | ( | const FormatT & | bs | ) |
Assign new index format.
Definition at line 608 of file mrange.cc.h.
decltype(auto) CNORXZ::GMIndex< FormatT, Indices >::stepSize | ( | const IndexId< I > & | id | ) | const |
return the memory step size this index has w.r.t. to index of given ID
J | static index ID, size type |
id | input index ID |
Definition at line 405 of file mrange.cc.h.
String CNORXZ::GMIndex< FormatT, Indices >::stringMeta | ( | ) | const |
return string formatted meta data at current index position
Definition at line 413 of file mrange.cc.h.
decltype(auto) CNORXZ::GMIndex< FormatT, Indices >::xpr | ( | const Sptr< MIndex< Indices... > > & | _this | ) | const |
Definition at line 443 of file mrange.cc.h.