CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
CNORXZ Namespace Reference

Namespaces

namespace  AVX
 
namespace  cer
 
namespace  Config
 
namespace  hdf5
 
namespace  Test
 

Classes

class  AIndex
 
class  Allocator
 
class  ArrayBase
 
class  BIndex
 
class  BufXpr
 
class  CArrayBase
 
class  CIndex
 
struct  Consecutive
 
struct  consecutive_base
 
struct  consecutive_base< Consecutive< T, N > >
 
struct  consecutive_size
 
struct  consecutive_size< Consecutive< T, N > >
 
struct  Container
 
struct  Container< T, N, true >
 
class  Contraction
 
class  COpInterface
 
class  COpRoot
 
class  CRange
 
class  CRangeFactory
 
class  CSlice
 
class  DIndex
 
struct  DividesCC
 
struct  DividesCC< Double, Double, AVX::ND >
 
struct  DividesCX
 
struct  DividesCX< Double, X, AVX::ND >
 
class  DPack
 
class  DPos
 
class  DPosRef
 
class  DType
 
class  DXpr
 
class  EFor
 
class  EIndex
 
class  EPos
 
struct  epos_size
 
struct  epos_size< EPos< BPosT, OPosTs... > >
 
struct  epos_size< MPos< BPosT, NPosT > >
 
class  For
 
class  FPos
 
class  GMFormat
 
class  GMIndex
 
struct  has_static_sub
 
struct  has_static_sub< GMIndex< FormatT, Indices... > >
 
struct  has_sub
 
struct  has_sub< DIndex >
 
struct  has_sub< GMIndex< FormatT, Indices... > >
 
struct  has_sub< XIndexBase >
 
struct  has_sub< YIndex >
 
struct  index_const_size
 
struct  index_const_size< GMIndex< FormatT, Indices... > >
 
struct  index_dim
 
struct  index_dim< GMIndex< FormatT, Indices... > >
 
struct  index_expression_exists
 
struct  index_expression_exists< CIndex >
 
struct  index_expression_exists< EIndex< MetaT, S, L > >
 
struct  index_expression_exists< LIndex< Index, L > >
 
struct  index_expression_exists< MIndex< Indices... > >
 
struct  index_expression_exists< SIndex< MetaT, S > >
 
struct  index_expression_exists< UIndex< MetaT > >
 
struct  index_has_const_size
 
struct  index_has_const_size< GMIndex< FormatT, Indices... > >
 
struct  index_is_multi
 
struct  index_is_multi< GMIndex< FormatT, Indices... > >
 
struct  index_is_multi< YIndex >
 
class  IndexId
 
class  IndexInterface
 
struct  is_consecutive_type
 
struct  is_consecutive_type< Consecutive< T, N > >
 
struct  is_epos_type
 
struct  is_epos_type< EPos< BPosT, OPosTs... > >
 
struct  is_epos_type< MPos< BPosT, NPosT > >
 
struct  is_index
 
struct  is_index< EIndex< MetaT, S, L > >
 
struct  is_index< LIndex< Index, L > >
 
struct  is_mutable_operation
 
struct  is_operation
 
struct  is_pos_type
 
struct  is_pos_type< DPos >
 
struct  is_pos_type< DPosRef >
 
struct  is_pos_type< EPos< BPosT, OPosTs... > >
 
struct  is_pos_type< FPos >
 
struct  is_pos_type< MPos< BPosT, NPosT > >
 
struct  is_pos_type< SFPos< N, Ms... > >
 
struct  is_pos_type< SPos< N > >
 
struct  is_pos_type< UPos >
 
struct  is_scalar_pos_type
 
struct  is_scalar_pos_type< DPos >
 
struct  is_scalar_pos_type< DPosRef >
 
struct  is_scalar_pos_type< EPos< BPosT, OPosTs... > >
 
struct  is_scalar_pos_type< FPos >
 
struct  is_scalar_pos_type< SFPos< N, Ms... > >
 
struct  is_scalar_pos_type< SPos< N > >
 
struct  is_scalar_pos_type< UPos >
 
struct  is_static_format
 
struct  is_static_format< GMFormat< PosT... > >
 
struct  is_static_format< MFormat< N > >
 
struct  is_static_pos_type
 
struct  is_static_pos_type< EPos< BPosT, OPosTs... > >
 
struct  is_static_pos_type< SFPos< N, Ms... > >
 
struct  is_static_pos_type< SPos< N > >
 
struct  is_vector
 
struct  is_vector< std::vector< T, A > >
 
struct  is_xpr
 
class  LIndex
 
class  MArray
 
class  MemCount
 
class  MFormat
 
struct  MIndexSptrMul
 
struct  MinusCC
 
struct  MinusCC< Double, Double, AVX::ND >
 
struct  MinusCX
 
struct  MinusCX< Double, X, AVX::ND >
 
struct  MkEPos
 
struct  MkEPos< MPos< BPosT, NPosT >, MPos< OPosT, ONPosT >, N >
 
class  MPos
 
class  MRange
 
class  MRangeFactory
 
struct  MultipliesCC
 
struct  MultipliesCC< Double, Double, AVX::ND >
 
struct  MultipliesCX
 
struct  MultipliesCX< Double, X, AVX::ND >
 
class  NoF
 
class  None
 
class  ObjHandle
 
struct  op_size
 
struct  op_size< Contraction< CXpr > >
 
struct  op_size< Operation< F, Ops... > >
 
class  OpCont
 
class  Operation
 
class  OpInterface
 
class  OpRoot
 
class  PFor
 
class  PIndex
 
struct  PlusCC
 
struct  PlusCC< Double, Double, AVX::ND >
 
struct  PlusCX
 
struct  PlusCX< Double, X, AVX::ND >
 
class  POpRoot
 
struct  pos_type_is_consecutive
 
struct  pos_type_is_consecutive< EPos< BPosT, OPosTs... > >
 
struct  pos_type_is_consecutive< MPos< BPosT, NPosT > >
 
struct  pos_type_same
 
struct  pos_types_consecutive
 
struct  pos_types_consecutive_2
 
struct  PosFromVPos
 
struct  PosFromVPos< MPos< PosT1, PosT2 > >
 
class  PRange
 
class  PRangeFactory
 
class  RangeBase
 
struct  RangeCast
 
struct  RangeCast< CRange >
 
struct  RangeCast< MRange< Ranges... > >
 
struct  RangeCast< SRange< MetaT, S > >
 
struct  RangeCast< URange< MetaType > >
 
struct  RangeCast< YRange >
 
class  RangeFactoryBase
 
class  RangeInterface
 
struct  RangePack
 
class  SFor
 
class  SFPos
 
class  SIndex
 
class  Slice
 
class  SPack
 
class  SPos
 
class  SRange
 
class  SRangeFactory
 
struct  static_pos_size
 
struct  static_pos_size< MPos< BPosT, NPosT > >
 
class  TFor
 
struct  ToString
 
struct  ToString< Arr< T, N > >
 
struct  ToString< DType >
 
struct  ToString< std::map< T, S > >
 
struct  ToString< std::pair< T, S > >
 
struct  ToString< String >
 
struct  ToString< Tuple< Ts... > >
 
struct  ToString< Vector< T > >
 
class  UIndex
 
class  UPos
 
class  URange
 
struct  URangeCast
 
struct  URangeCast< Vector< U > >
 
class  URangeFactory
 
struct  Uuid
 
class  VPos
 
class  VPos< DPos >
 
class  VPos< DPosRef >
 
class  VPos< MPos< PosT1, PosT2 > >
 
class  VPos< SFPos< N, Ms... > >
 
class  VPosBase
 
class  VPosRef
 
class  VPosRef< DPos >
 
class  VPosRef< DPosRef >
 
class  VPosRef< MPos< PosT1, PosT2 > >
 
class  VPosRef< SFPos< N, Ms... > >
 
class  VXpr
 
class  VXprBase
 
class  XIndex
 
class  XIndexBase
 
class  XprInterface
 
class  YFormat
 
class  YIndex
 
class  YRange
 
class  YRangeFactory
 
class  ZeroF
 

Typedefs

template<SizeT B, SizeT E>
using Isqr = typename MkIsq<B,E>::type
 
typedef std::intptr_t PtrId
 
typedef int32_t Int
 
typedef int64_t LInt
 
typedef uint64_t SizeT
 
typedef double Double
 
typedef Double Real
 
typedef std::complex< RealComplex
 
typedef std::string String
 
template<typename T , size_t N>
using Arr = std::array<T,N>
 
template<typename T >
using Sptr = std::shared_ptr<T>
 
template<typename T >
using Wptr = std::weak_ptr<T>
 
template<typename T >
using Uptr = std::unique_ptr<T>
 
template<typename T , typename U >
using Pair = std::pair<T,U>
 
template<typename... T>
using Tuple = std::tuple<T...>
 
template<SizeT I, typename... T>
using TupleElem = std::tuple_element<I,Tuple<T...>>
 
template<typename T >
using RemoveRef = typename std::remove_reference<T>::type
 
template<typename K , typename V >
using Map = std::map<K,V>
 
typedef std::type_info TypeInfo
 
template<SizeT... Is>
using Isq = std::index_sequence<Is...>
 
template<class... T>
using Isqf = std::index_sequence_for<T...>
 
template<SizeT N>
using CSizeT = std::integral_constant<SizeT,N>
 
typedef Sptr< RangeBaseRangePtr
 
template<class I , typename MetaType >
using IndexPtr = Sptr<IndexInterface<I,MetaType>>
 
template<class... Indices>
using MIndex = GMIndex<None,Indices...>
 
typedef Sptr< XIndexBaseXIndexPtr
 
typedef Sptr< YIndexYIndexPtr
 
template<typename T >
using Vector = std::vector<T,Allocator<T>>
 

Functions

template<SizeT B, SizeT E, class G , class F >
constexpr decltype(autoiter (const G &g, const F &f)
 
template<SizeT B, SizeT E, class G , class F , class C >
constexpr decltype(autoiterIf (const G &g, const F &f, const C &c)
 
template<typename T >
String toString (const T &a)
 
template<typename T , SizeT N>
Vector< TtoVec (const Arr< T, N > &a)
 
template<typename T >
Vector< TtoVec (const Vector< T > &a)
 
template<typename T >
Vector< TtoVec (const T &a)
 
template<typename T , SizeT N1, SizeT N2>
constexpr Arr< T, N1+N2cat2 (const Arr< T, N1 > &a1, const Arr< T, N2 > &a2)
 
template<typename T , SizeT N1>
constexpr Arr< T, N1+1 > cat2 (const Arr< T, N1 > &a1, const T &a2)
 
template<typename T , SizeT N1>
constexpr Arr< T, N1+1 > cat2 (const T &a1, const Arr< T, N1 > &a2)
 
template<typename T >
constexpr Arr< T, 2 > cat2 (const T &a1, const T &a2)
 
template<typename T , SizeT N2>
Vector< Tcat2 (const Vector< T > &a1, const Arr< T, N2 > &a2)
 
template<typename T , SizeT N1>
Vector< Tcat2 (const Arr< T, N1 > &a1, const Vector< T > &a2)
 
template<typename T >
Vector< Tcat2 (const Vector< T > &a1, const Vector< T > &a2)
 
template<typename T >
Vector< Tcat2 (const Vector< T > &a1, const T &a2)
 
template<typename T , SizeT N1>
Vector< Tcat2 (const T &a1, const Vector< T > &a2)
 
template<typename T1 , typename T2 , typename... Ts>
decltype(autoconcat (const T1 &a1, const T2 &a2, const Ts &... as)
 
template<typename T , SizeT N>
constexpr Arr< T, N > mul (const Arr< T, N > &a, const T &b)
 
template<typename T >
Vector< Tmul (const Vector< T > &a, const T &b)
 
template<typename T >
constexpr T mul (const T &a, const T &b)
 
Uuid mkUuid ()
 
bool operator== (const Uuid &a, const Uuid &b)
 
bool operator!= (const Uuid &a, const Uuid &b)
 
bool operator< (const Uuid &a, const Uuid &b)
 
bool operator> (const Uuid &a, const Uuid &b)
 
bool operator<= (const Uuid &a, const Uuid &b)
 
bool operator>= (const Uuid &a, const Uuid &b)
 
template<class T , class U >
bool operator== (const Allocator< T > &a, const Allocator< U > &b)
 
template<class T , class U >
bool operator!= (const Allocator< T > &a, const Allocator< U > &b)
 
template<class Op >
constexpr decltype(autominus (const COpInterface< Op > &op)
 
template<class Op1 , class Op2 >
constexpr decltype(autoplus (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autominus (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(automultiplies (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autodivides (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(automodulo (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op >
constexpr decltype(autooperator- (const COpInterface< Op > &op)
 
template<class Op1 , class Op2 >
constexpr decltype(autooperator+ (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autooperator- (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autooperator* (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autooperator/ (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<class Op1 , class Op2 >
constexpr decltype(autooperator% (const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)
 
template<typename T , class EPosT , SizeT... Is>
decltype(autovregi (const T *d, const EPosT &pos, std::index_sequence< Is... > is)
 
template<typename T , class EPosT >
decltype(autovreg (const T *d, const EPosT &pos)
 
template<typename T , class EPosT >
decltype(autovreg (T *d, const EPosT &pos)
 
template<SizeT I, typename T >
constexpr decltype(autoconsecGet (const T &a)
 
template<SizeT I, typename T >
constexpr decltype(autoconsecGet (T &a)
 
template<SizeT I, class F , typename... Args>
constexpr decltype(autoconsecApply (const F &f, const Args &... args)
 
template<SizeT I, class F , typename Dst , typename... Args>
constexpr DstconsecAssign (const F &f, Dst &dst, const Args &... args)
 
template<class F , typename... Args, SizeT... Is>
constexpr decltype(autoconsecFuncI (const F &f, const Args &... args, std::index_sequence< Is... > is)
 
template<class F , typename Dst , typename... Args, SizeT... Is>
constexpr DstconsecFuncAI (const F &f, Dst &dst, const Args &... args, std::index_sequence< Is... > is)
 
template<SizeT N, class F , typename... Args>
constexpr decltype(autoconsecFunc (const F &f, const Args &... args)
 
template<SizeT N, class F , typename Dst , typename... Args>
constexpr DstconsecFuncA (const F &f, Dst &dst, const Args &... args)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator+ (const Consecutive< T, N > &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator+ (const Consecutive< T, N > &a, const U &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator+ (const T &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator+= (Consecutive< T, N > &o, const Consecutive< U, N > &a)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator+= (Consecutive< T, N > &o, const U &a)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator- (const Consecutive< T, N > &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator- (const Consecutive< T, N > &a, const U &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator- (const T &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator-= (Consecutive< T, N > &o, const Consecutive< U, N > &a)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator-= (Consecutive< T, N > &o, const U &a)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator* (const Consecutive< T, N > &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator* (const Consecutive< T, N > &a, const U &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator* (const T &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator*= (Consecutive< T, N > &o, const Consecutive< U, N > &a)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator*= (Consecutive< T, N > &o, const U &a)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator/ (const Consecutive< T, N > &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator/ (const Consecutive< T, N > &a, const U &b)
 
template<typename T , typename U , SizeT N>
constexpr decltype(autooperator/ (const T &a, const Consecutive< U, N > &b)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator/= (Consecutive< T, N > &o, const Consecutive< U, N > &a)
 
template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & operator/= (Consecutive< T, N > &o, const U &a)
 
template<typename T , class IndexT >
constexpr decltype(autocoproot (const CArrayBase< T > &a, const Sptr< IndexT > &ind)
 
template<typename T , class IndexT >
constexpr decltype(autocoproot (const T *a, const Sptr< IndexT > &ind)
 
template<class IndexT , class Op >
constexpr decltype(autopoproot (const Sptr< IndexT > &ind, const SizeT *parts, Op &&op)
 
template<typename T , class IndexT >
constexpr decltype(autooproot (ArrayBase< T > &a, const Sptr< IndexT > &ind)
 
template<class F , class... Ops>
constexpr decltype(autooperation (F &&f, const Ops &... ops)
 
template<class Tar , class Src >
constexpr decltype(autoassignxpr (const Tar &tar, const Src &src)
 
template<class Tar , class Src >
constexpr decltype(autoassignxpr (Tar &tar, const Src &src)
 
template<class F , class Op , class IndexT >
constexpr decltype(autocontraction (F &&f, Op &&op, const Sptr< IndexT > &i)
 
template<class IndexT >
constexpr decltype(autoindexOp (const Sptr< IndexT > &i)
 
template<SizeT I, class PosT >
constexpr decltype(autopos_get (const PosT &pos)
 
template<SizeT J, SizeT I, SizeT... Is>
constexpr SizeT sum_index_sequence (std::index_sequence< I, Is... > is)
 
template<class F , class PosT , class OpTuple , class OpSizes , SizeT... Is>
auto pos_unpack_args_i (const F &f, const PosT &pos, const OpTuple &args, OpSizes opsizes, std::index_sequence< Is... > is)
 
template<class F , class PosT , class... Ops>
auto pos_unpack_args (const F &f, const PosT &pos, const Tuple< Ops... > &args)
 
template<SizeT J, SizeT... Is>
constexpr SizeT sum_index_sequence (std::index_sequence< Is... > is)
 
template<class I >
decltype(autooperator* (const Sptr< CIndex > &a, const Sptr< I > &b)
 
template<class I >
decltype(autooperator* (const Sptr< DIndex > &a, const Sptr< I > &b)
 
template<class I >
indexAs (const DIndex &i)
 
template<typename MetaT , SizeT S, SizeT L, class I1 >
decltype(autooperator* (const Sptr< EIndex< MetaT, S, L > > &a, const Sptr< I1 > &b)
 
template<typename MetaT , SizeT S, SizeT L>
decltype(autoeindexPtr (const Sptr< LIndex< SIndex< MetaT, S >, L > > &i)
 
template<SizeT L, typename MetaT , SizeT S>
decltype(autoeindexPtr (const Sptr< SIndex< MetaT, S > > &i)
 
template<typename MetaT , SizeT S, SizeT L>
decltype(autoeindexPtr (const Sptr< SIndex< MetaT, S > > &i, CSizeT< L > l)
 
template<SizeT S, SizeT L1, SizeT L2, class Index >
decltype(autoeplex (const Sptr< Index > &i)
 
template<class Index , SizeT S, SizeT L>
decltype(autoeplex (const Sptr< Index > &i, CSizeT< S > s, CSizeT< L > l)
 
template<class Index , SizeT S, SizeT L1, SizeT L2>
decltype(autoeplex (const Sptr< Index > &i, CSizeT< S > s, CSizeT< L1 > l1, CSizeT< L2 > l2)
 
template<class I , typename MetaType >
IndexPtr< I, MetaType > & operator++ (const IndexPtr< I, MetaType > &i)
 
template<class I , typename MetaType >
IndexPtr< I, MetaType > & operator-- (const IndexPtr< I, MetaType > &i)
 
template<class I , typename MetaType >
IndexPtr< I, MetaType > operator+ (const IndexPtr< I, MetaType > &i, Int n)
 
template<class I , typename MetaType >
IndexPtr< I, MetaType > operator- (const IndexPtr< I, MetaType > &i, Int n)
 
template<class I >
Sptr< I > moveToPtr (I &&i)
 
template<class I >
decltype(autoxpr (const Sptr< I > &i)
 
template<class... PosT>
constexpr decltype(autogmformat (const PosT &... ps)
 
bool formatIsTrivial (const Vector< SizeT > &f, const Vector< SizeT > &s)
 
template<class I1 , typename Meta1 , class I2 , typename Meta2 >
decltype(autooperator* (const IndexInterface< I1, Meta1 > &a, const IndexInterface< I2, Meta2 > &b)
 
template<class I1 , typename Meta1 , class... Indices>
decltype(autooperator* (const IndexInterface< I1, Meta1 > &a, const SPack< Indices... > &b)
 
template<class I2 , typename Meta2 , class... Indices>
decltype(autooperator* (const SPack< Indices... > &a, const IndexInterface< I2, Meta2 > &b)
 
template<class Index , class... Indices>
decltype(autooperator* (const Sptr< Index > &a, const SPack< Indices... > &b)
 
template<class Index , class... Indices>
decltype(autooperator* (const SPack< Indices... > &a, const Sptr< Index > &b)
 
template<class... Indices1, class... Indices2>
decltype(autooperator* (const SPack< Indices1... > &a, const SPack< Indices2... > &b)
 
template<class I1 , typename Meta1 >
decltype(autooperator* (const IndexInterface< I1, Meta1 > &a, const DPack &b)
 
template<class I2 , typename Meta2 >
decltype(autooperator* (const DPack &a, const IndexInterface< I2, Meta2 > &b)
 
decltype(autooperator* (const DPack &a, const DPack &b)
 
template<class I1 , class I2 >
decltype(autoiptrMul (const Sptr< I1 > &a, const Sptr< I2 > &b)
 
template<class... Indices>
constexpr decltype(autospack (const Indices &... inds)
 
template<class... Indices>
constexpr decltype(autospackp (const Sptr< Indices > &... inds)
 
template<class... Indices>
DPack dpack (const Indices &... inds)
 
template<class... Indices>
DPack dpackp (const Sptr< Indices > &... inds)
 
template<class Index , SizeT L, class I1 >
decltype(autooperator* (const Sptr< LIndex< Index, L > > &a, const Sptr< I1 > &b)
 
template<SizeT L, class Index >
decltype(autolindexPtr (const Sptr< Index > &i)
 
template<class Index , SizeT L>
decltype(autolindexPtr (const Sptr< Index > &i, CSizeT< L > l)
 
template<class... Indices>
constexpr decltype(automindex (const Sptr< Indices > &... is)
 
template<class... Indices>
constexpr decltype(automindex (const SPack< Indices... > &pack)
 
template<class... Indices>
constexpr decltype(automindexPtr (const SPack< Indices... > &pack)
 
template<class FormatT , class... Indices>
constexpr decltype(autogmindexPtr (const FormatT &bs, const SPack< Indices... > &pack)
 
template<class I1 , class FormatT , class... Indices>
decltype(autooperator* (const Sptr< GMIndex< FormatT, Indices... > > &a, const Sptr< I1 > &b)
 
template<class... Ranges>
RangePtr mrange (const Sptr< Ranges > &... rs)
 
template<class I , class I1 >
decltype(autooperator* (const Sptr< PIndex< I > > &a, const Sptr< I1 > &b)
 
template<class RangeT >
RangePtr prange (const Sptr< RangeT > &range, const Vector< SizeT > &parts)
 
template<class Range >
Sptr< Range > rangeCast (const RangePtr r)
 
RangePack operator* (const RangePtr &a, const RangePtr &b)
 
RangePack operator* (const RangePtr &a, const RangePack &b)
 
RangePack operator* (const RangePack &a, const RangePtr &b)
 
RangePack operator* (const RangePack &a, const RangePack &b)
 
RangePtr getSub (const RangePtr &r, SizeT num)
 
MArray< RangePtrgetSub (const RangePtr &r)
 
template<typename MetaType , SizeT S, class I1 >
decltype(autooperator* (const Sptr< SIndex< MetaType, S > > &a, const Sptr< I1 > &b)
 
template<typename MetaT , SizeT S, class I1 >
decltype(autooperator* (const Sptr< SIndex< MetaT, S > > &a, const Sptr< I1 > &b)
 
template<typename MetaT , class I1 >
decltype(autooperator* (const Sptr< UIndex< MetaT > > &a, const Sptr< I1 > &b)
 
template<typename MetaT >
RangePtr urange (const Vector< MetaT > &space)
 
template<typename MetaT >
void swap (UIndex< MetaT > &a, UIndex< MetaT > &b)
 
template<class Index >
XIndexPtr xindexPtr (const Sptr< Index > &i)
 
template<>
XIndexPtr xindexPtr< XIndexBase > (const Sptr< XIndexBase > &i)
 
template<>
XIndexPtr xindexPtr< XIndexBase > (const Sptr< XIndexBase > &i)
 
YIndex yindex (const DPack &pack)
 
YIndex yindex (const Vector< XIndexPtr > &is)
 
Sptr< YIndexyindexPtr (const DPack &is)
 
Sptr< YIndexyindexPtr (const Vector< XIndexPtr > &is)
 
Sptr< YIndexyindexPtr (const Vector< SizeT > &bs, const Vector< XIndexPtr > &is)
 
RangePtr yrange (const Vector< RangePtr > &rs)
 
template<typename T , class IXprF >
constexpr decltype(autobufxpr (IXprF &&ixprf)
 
template<SizeT L, class Xpr , class F >
constexpr decltype(automkFor (SizeT size, const IndexId< L > &id, const Xpr &xpr, F &&f)
 
template<SizeT L, class Xpr >
constexpr decltype(automkFor (SizeT size, const IndexId< L > &id, const Xpr &xpr)
 
template<SizeT N, SizeT L, class Xpr , class F >
constexpr decltype(automkSFor (const IndexId< L > &id, const Xpr &xpr, F &&f)
 
template<SizeT N, SizeT L, class Xpr >
constexpr decltype(automkSFor (const IndexId< L > &id, const Xpr &xpr)
 
template<SizeT L1, SizeT L2, class Xpr , class F >
constexpr decltype(automkPFor (SizeT size, const IndexId< L1 > &id1, const IndexId< L2 > &id2, const Xpr &xpr, F &&f)
 
template<SizeT L1, SizeT L2, class Xpr , class F >
constexpr decltype(automkPFor (SizeT size, const IndexId< L1 > &id1, const IndexId< L2 > &id2, const Xpr &xpr)
 
template<SizeT N, class BPosT , class OPosT >
decltype(automkEPos (const BPosT &a, const OPosT &b)
 
template<class BPosT , class OPosT , SizeT... Is>
decltype(automkiEPos (const BPosT &a, const OPosT &b, std::index_sequence< Is... > is)
 
constexpr std::tm mkTRef ()
 
template<class Archive >
void save (Archive &ar, const Uuid &id)
 
template<class Archive >
void load (Archive &ar, Uuid &id)
 

Typedef Documentation

◆ Arr

template<typename T , size_t N>
using CNORXZ::Arr = std::array<T,N>

Definition at line 45 of file types.h.

◆ Complex

typedef std::complex<Real> CNORXZ::Complex

Definition at line 41 of file types.h.

◆ CSizeT

template<SizeT N>
using CNORXZ::CSizeT = std::integral_constant<SizeT,N>

Definition at line 81 of file types.h.

◆ Double

Definition at line 39 of file types.h.

◆ IndexPtr

template<class I , typename MetaType >
using CNORXZ::IndexPtr = Sptr<IndexInterface<I,MetaType>>

Definition at line 164 of file types.h.

◆ Int

Definition at line 36 of file types.h.

◆ Isq

template<SizeT... Is>
using CNORXZ::Isq = std::index_sequence<Is...>

Definition at line 74 of file types.h.

◆ Isqf

template<class... T>
using CNORXZ::Isqf = std::index_sequence_for<T...>

Definition at line 78 of file types.h.

◆ Isqr

template<SizeT B, SizeT E>
using CNORXZ::Isqr = typename MkIsq<B,E>::type

static consecutive integer sequence

Template Parameters
Bbegin integer
Eend integer

Definition at line 45 of file isq.h.

◆ LInt

Definition at line 37 of file types.h.

◆ Map

template<typename K , typename V >
using CNORXZ::Map = std::map<K,V>

Definition at line 69 of file types.h.

◆ MIndex

template<class... Indices>
using CNORXZ::MIndex = GMIndex<None,Indices...>

Definition at line 211 of file types.h.

◆ Pair

template<typename T , typename U >
using CNORXZ::Pair = std::pair<T,U>

Definition at line 57 of file types.h.

◆ PtrId

typedef std::intptr_t CNORXZ::PtrId

Definition at line 35 of file types.h.

◆ RangePtr

Definition at line 157 of file types.h.

◆ Real

Definition at line 40 of file types.h.

◆ RemoveRef

template<typename T >
using CNORXZ::RemoveRef = typename std::remove_reference<T>::type

Definition at line 66 of file types.h.

◆ SizeT

Definition at line 38 of file types.h.

◆ Sptr

template<typename T >
using CNORXZ::Sptr = std::shared_ptr<T>

Definition at line 48 of file types.h.

◆ String

typedef std::string CNORXZ::String

Definition at line 42 of file types.h.

◆ Tuple

template<typename... T>
using CNORXZ::Tuple = std::tuple<T...>

Definition at line 60 of file types.h.

◆ TupleElem

template<SizeT I, typename... T>
using CNORXZ::TupleElem = std::tuple_element<I,Tuple<T...>>

Definition at line 63 of file types.h.

◆ TypeInfo

typedef std::type_info CNORXZ::TypeInfo

Definition at line 71 of file types.h.

◆ Uptr

template<typename T >
using CNORXZ::Uptr = std::unique_ptr<T>

Definition at line 54 of file types.h.

◆ Vector

template<typename T >
using CNORXZ::Vector = std::vector<T,Allocator<T>>

Definition at line 310 of file types.h.

◆ Wptr

template<typename T >
using CNORXZ::Wptr = std::weak_ptr<T>

Definition at line 51 of file types.h.

◆ XIndexPtr

Definition at line 216 of file types.h.

◆ YIndexPtr

Definition at line 227 of file types.h.

Function Documentation

◆ assignxpr() [1/2]

template<class Tar , class Src >
constexpr decltype(auto) CNORXZ::assignxpr ( const Tar & tar,
const Src & src )
constexpr

Definition at line 434 of file op_types.cc.h.

◆ assignxpr() [2/2]

template<class Tar , class Src >
constexpr decltype(auto) CNORXZ::assignxpr ( Tar & tar,
const Src & src )
constexpr

Definition at line 446 of file op_types.cc.h.

◆ bufxpr()

template<typename T , class IXprF >
constexpr decltype(auto) CNORXZ::bufxpr ( IXprF && ixprf)
constexpr

Definition at line 77 of file buf_xpr.cc.h.

◆ cat2() [1/9]

template<typename T , SizeT N1, SizeT N2>
constexpr Arr< T, N1+N2 > CNORXZ::cat2 ( const Arr< T, N1 > & a1,
const Arr< T, N2 > & a2 )
constexpr

Definition at line 41 of file utils.h.

◆ cat2() [2/9]

template<typename T , SizeT N1>
constexpr Arr< T, N1+1 > CNORXZ::cat2 ( const Arr< T, N1 > & a1,
const T & a2 )
constexpr

Definition at line 49 of file utils.h.

◆ cat2() [3/9]

template<typename T , SizeT N1>
Vector< T > CNORXZ::cat2 ( const Arr< T, N1 > & a1,
const Vector< T > & a2 )

Definition at line 80 of file utils.h.

◆ cat2() [4/9]

template<typename T , SizeT N1>
constexpr Arr< T, N1+1 > CNORXZ::cat2 ( const T & a1,
const Arr< T, N1 > & a2 )
constexpr

Definition at line 57 of file utils.h.

◆ cat2() [5/9]

template<typename T >
constexpr Arr< T, 2 > CNORXZ::cat2 ( const T & a1,
const T & a2 )
constexpr

Definition at line 65 of file utils.h.

◆ cat2() [6/9]

template<typename T , SizeT N1>
Vector< T > CNORXZ::cat2 ( const T & a1,
const Vector< T > & a2 )

Definition at line 106 of file utils.h.

◆ cat2() [7/9]

template<typename T , SizeT N2>
Vector< T > CNORXZ::cat2 ( const Vector< T > & a1,
const Arr< T, N2 > & a2 )

Definition at line 71 of file utils.h.

◆ cat2() [8/9]

template<typename T >
Vector< T > CNORXZ::cat2 ( const Vector< T > & a1,
const T & a2 )

Definition at line 98 of file utils.h.

◆ cat2() [9/9]

template<typename T >
Vector< T > CNORXZ::cat2 ( const Vector< T > & a1,
const Vector< T > & a2 )

Definition at line 89 of file utils.h.

◆ concat()

template<typename T1 , typename T2 , typename... Ts>
decltype(auto) CNORXZ::concat ( const T1 & a1,
const T2 & a2,
const Ts &... as )

Definition at line 114 of file utils.h.

◆ consecApply()

template<SizeT I, class F , typename... Args>
constexpr decltype(auto) CNORXZ::consecApply ( const F & f,
const Args &... args )
constexpr

Definition at line 82 of file reg.cc.h.

◆ consecAssign()

template<SizeT I, class F , typename Dst , typename... Args>
constexpr Dst & CNORXZ::consecAssign ( const F & f,
Dst & dst,
const Args &... args )
constexpr

Definition at line 88 of file reg.cc.h.

◆ consecFunc()

template<SizeT N, class F , typename... Args>
constexpr decltype(auto) CNORXZ::consecFunc ( const F & f,
const Args &... args )
constexpr

Definition at line 112 of file reg.cc.h.

◆ consecFuncA()

template<SizeT N, class F , typename Dst , typename... Args>
constexpr Dst & CNORXZ::consecFuncA ( const F & f,
Dst & dst,
const Args &... args )
constexpr

Definition at line 118 of file reg.cc.h.

◆ consecFuncAI()

template<class F , typename Dst , typename... Args, SizeT... Is>
constexpr Dst & CNORXZ::consecFuncAI ( const F & f,
Dst & dst,
const Args &... args,
std::index_sequence< Is... > is )
constexpr

Definition at line 104 of file reg.cc.h.

◆ consecFuncI()

template<class F , typename... Args, SizeT... Is>
constexpr decltype(auto) CNORXZ::consecFuncI ( const F & f,
const Args &... args,
std::index_sequence< Is... > is )
constexpr

Definition at line 95 of file reg.cc.h.

◆ consecGet() [1/2]

template<SizeT I, typename T >
constexpr decltype(auto) CNORXZ::consecGet ( const T & a)
constexpr

Definition at line 56 of file reg.cc.h.

◆ consecGet() [2/2]

template<SizeT I, typename T >
constexpr decltype(auto) CNORXZ::consecGet ( T & a)
constexpr

Definition at line 69 of file reg.cc.h.

◆ contraction()

template<class F , class Op , class IndexT >
constexpr decltype(auto) CNORXZ::contraction ( F && f,
Op && op,
const Sptr< IndexT > & i )
constexpr

Definition at line 496 of file op_types.cc.h.

◆ coproot() [1/2]

template<typename T , class IndexT >
constexpr decltype(auto) CNORXZ::coproot ( const CArrayBase< T > & a,
const Sptr< IndexT > & ind )
constexpr

Definition at line 124 of file op_types.cc.h.

◆ coproot() [2/2]

template<typename T , class IndexT >
constexpr decltype(auto) CNORXZ::coproot ( const T * a,
const Sptr< IndexT > & ind )
constexpr

Definition at line 130 of file op_types.cc.h.

◆ divides()

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::divides ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 55 of file basic_operations.cc.h.

◆ dpack()

template<class... Indices>
DPack CNORXZ::dpack ( const Indices &... inds)

Create dynamic index pack

Template Parameters
Indicesindex types
Parameters
indsIndices to create the pack from
Returns
Created pack

Definition at line 134 of file index_pack.cc.h.

◆ dpackp()

template<class... Indices>
DPack CNORXZ::dpackp ( const Sptr< Indices > &... inds)

Create dynamic index pack from index pointers

Template Parameters
Indicesindex types
Parameters
indsIndices to create the pack from
Returns
Created pack

Definition at line 140 of file index_pack.cc.h.

◆ eindexPtr() [1/3]

template<typename MetaT , SizeT S, SizeT L>
decltype(auto) CNORXZ::eindexPtr ( const Sptr< LIndex< SIndex< MetaT, S >, L > > & i)

Create Eindex pointer from LIndex pointer

Definition at line 42 of file eindex.cc.h.

◆ eindexPtr() [2/3]

template<SizeT L, typename MetaT , SizeT S>
decltype(auto) CNORXZ::eindexPtr ( const Sptr< SIndex< MetaT, S > > & i)

Create Eindex pointer from SIndex pointer

Template Parameters
LStatic index label

Definition at line 48 of file eindex.cc.h.

◆ eindexPtr() [3/3]

template<typename MetaT , SizeT S, SizeT L>
decltype(auto) CNORXZ::eindexPtr ( const Sptr< SIndex< MetaT, S > > & i,
CSizeT< L > l )

Create Eindex pointer from LIndex pointer

Parameters
lStatic index label

Definition at line 54 of file eindex.cc.h.

◆ eplex() [1/3]

template<SizeT S, SizeT L1, SizeT L2, class Index >
decltype(auto) CNORXZ::eplex ( const Sptr< Index > & i)

Split given index into pack of EIndex and remainder index

Parameters
iIndex to be split
Template Parameters
SVector size
L1label of EIndex
L2label of remainder index

Definition at line 60 of file eindex.cc.h.

◆ eplex() [2/3]

template<class Index , SizeT S, SizeT L>
decltype(auto) CNORXZ::eplex ( const Sptr< Index > & i,
CSizeT< S > s,
CSizeT< L > l )

Split given index into pack of EIndex and remainder index

Parameters
iIndex to be split
sVector size
llabel of EIndex

Definition at line 79 of file eindex.cc.h.

◆ eplex() [3/3]

template<class Index , SizeT S, SizeT L1, SizeT L2>
decltype(auto) CNORXZ::eplex ( const Sptr< Index > & i,
CSizeT< S > s,
CSizeT< L1 > l1,
CSizeT< L2 > l2 )

Split given index into pack of EIndex and remainder index

Parameters
iIndex to be split
sVector size
l1label of EIndex
l2label of remainder index

Definition at line 85 of file eindex.cc.h.

◆ formatIsTrivial()

bool CNORXZ::formatIsTrivial ( const Vector< SizeT > & f,
const Vector< SizeT > & s )

Check if format is trivial, i.e. f[i-1] = f[i]*s[i].

Parameters
fVector representing the index format.
sVector representing the sub-index maxima.

Definition at line 40 of file index_format.cc.

◆ getSub() [1/2]

MArray< RangePtr > CNORXZ::getSub ( const RangePtr & r)

Definition at line 154 of file range_base.cc.

◆ getSub() [2/2]

RangePtr CNORXZ::getSub ( const RangePtr & r,
SizeT num )

Definition at line 147 of file range_base.cc.

◆ gmformat()

template<class... PosT>
constexpr decltype(auto) CNORXZ::gmformat ( const PosT &... ps)
constexpr

Create GMFormat from position types.

Parameters
psPosition types.

Definition at line 112 of file index_format.cc.h.

◆ gmindexPtr()

template<class FormatT , class... Indices>
constexpr decltype(auto) CNORXZ::gmindexPtr ( const FormatT & bs,
const SPack< Indices... > & pack )
constexpr

Create pointer to GMIndex from index pack and format.

Parameters
bsIndex format.
packPack of input indices.

Definition at line 635 of file mrange.cc.h.

◆ indexAs()

template<class I >
I CNORXZ::indexAs ( const DIndex & i)

dynamically cast DIndex to given type. If type does not match the index type of the underlying index and exception is thrown

Template Parameters
Iindex type to be returned
Parameters
iDIndex to by casted
Returns
copy of underlying index instance

Definition at line 49 of file dindex.cc.h.

◆ indexOp()

template<class IndexT >
constexpr decltype(auto) CNORXZ::indexOp ( const Sptr< IndexT > & i)
constexpr

Definition at line 507 of file op_types.cc.h.

◆ iptrMul()

template<class I1 , class I2 >
decltype(auto) CNORXZ::iptrMul ( const Sptr< I1 > & a,
const Sptr< I2 > & b )

Combine two index pointers to an index 2-pack. YIndices and DIndices will be combined into a DPack, otherwise a SPack is returned.

Parameters
aFirst index.
bSecond index.
Returns
Index 2-pack.

Definition at line 129 of file index_mul.cc.h.

◆ iter()

template<SizeT B, SizeT E, class G , class F >
constexpr decltype(auto) CNORXZ::iter ( const G & g,
const F & f )
constexpr

static for loop

Template Parameters
Bbegin index
Eend index
Gtype of expression to executed for each element
Ftype of accumulating expression collecting result for all elements
Parameters
gexpression to executed for each element
faccumulating expression collecting result for all elements

Definition at line 34 of file iter.cc.h.

◆ iterIf()

template<SizeT B, SizeT E, class G , class F , class C >
constexpr decltype(auto) CNORXZ::iterIf ( const G & g,
const F & f,
const C & c )
constexpr

static conditional for loop

Template Parameters
Bbegin index
Eend index
Gtype of expression to executed for each element
Ftype of accumulating expression collecting result for all elements
Ctype of condition expression
Parameters
gexpression to executed for each element
faccumulating expression collecting result for all elements
ccondition expression

Definition at line 63 of file iter.cc.h.

◆ lindexPtr() [1/2]

template<SizeT L, class Index >
decltype(auto) CNORXZ::lindexPtr ( const Sptr< Index > & i)

Create LIndex from index pointer.

Parameters
iInput index.
Template Parameters
LStatic label.
Returns
Resulting LIndex.

Definition at line 62 of file lindex.cc.h.

◆ lindexPtr() [2/2]

template<class Index , SizeT L>
decltype(auto) CNORXZ::lindexPtr ( const Sptr< Index > & i,
CSizeT< L > l )

Create LIndex from index pointer.

Parameters
iInput index.
lCSizeT indicating the static label.
Returns
Resulting LIndex.

Definition at line 68 of file lindex.cc.h.

◆ load()

template<class Archive >
void CNORXZ::load ( Archive & ar,
Uuid & id )

Definition at line 69 of file cer_ranges.cc.h.

◆ mindex() [1/2]

template<class... Indices>
constexpr decltype(auto) CNORXZ::mindex ( const SPack< Indices... > & pack)
constexpr

Create MIndex from index pack.

Parameters
packPack of input indices.

Definition at line 623 of file mrange.cc.h.

◆ mindex() [2/2]

template<class... Indices>
constexpr decltype(auto) CNORXZ::mindex ( const Sptr< Indices > &... is)
constexpr

Create MIndex from index pointers.

Parameters
isInput index pointers.

Definition at line 617 of file mrange.cc.h.

◆ mindexPtr()

template<class... Indices>
constexpr decltype(auto) CNORXZ::mindexPtr ( const SPack< Indices... > & pack)
constexpr

Create pointer to MIndex from index pack.

Parameters
packPack of input indices.

Definition at line 629 of file mrange.cc.h.

◆ minus() [1/2]

template<class Op >
constexpr decltype(auto) CNORXZ::minus ( const COpInterface< Op > & op)
constexpr

Definition at line 24 of file basic_operations.cc.h.

◆ minus() [2/2]

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::minus ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 41 of file basic_operations.cc.h.

◆ mkEPos()

template<SizeT N, class BPosT , class OPosT >
decltype(auto) CNORXZ::mkEPos ( const BPosT & a,
const OPosT & b )

Definition at line 712 of file pos_type.cc.h.

◆ mkFor() [1/2]

template<SizeT L, class Xpr >
constexpr decltype(auto) CNORXZ::mkFor ( SizeT size,
const IndexId< L > & id,
const Xpr & xpr )
constexpr

Definition at line 97 of file for.cc.h.

◆ mkFor() [2/2]

template<SizeT L, class Xpr , class F >
constexpr decltype(auto) CNORXZ::mkFor ( SizeT size,
const IndexId< L > & id,
const Xpr & xpr,
F && f )
constexpr

Definition at line 91 of file for.cc.h.

◆ mkiEPos()

template<class BPosT , class OPosT , SizeT... Is>
decltype(auto) CNORXZ::mkiEPos ( const BPosT & a,
const OPosT & b,
std::index_sequence< Is... > is )

Definition at line 718 of file pos_type.cc.h.

◆ mkPFor() [1/2]

template<SizeT L1, SizeT L2, class Xpr , class F >
constexpr decltype(auto) CNORXZ::mkPFor ( SizeT size,
const IndexId< L1 > & id1,
const IndexId< L2 > & id2,
const Xpr & xpr )
constexpr

Definition at line 306 of file for.cc.h.

◆ mkPFor() [2/2]

template<SizeT L1, SizeT L2, class Xpr , class F >
constexpr decltype(auto) CNORXZ::mkPFor ( SizeT size,
const IndexId< L1 > & id1,
const IndexId< L2 > & id2,
const Xpr & xpr,
F && f )
constexpr

Definition at line 299 of file for.cc.h.

◆ mkSFor() [1/2]

template<SizeT N, SizeT L, class Xpr >
constexpr decltype(auto) CNORXZ::mkSFor ( const IndexId< L > & id,
const Xpr & xpr )
constexpr

Definition at line 217 of file for.cc.h.

◆ mkSFor() [2/2]

template<SizeT N, SizeT L, class Xpr , class F >
constexpr decltype(auto) CNORXZ::mkSFor ( const IndexId< L > & id,
const Xpr & xpr,
F && f )
constexpr

Definition at line 211 of file for.cc.h.

◆ mkTRef()

constexpr std::tm CNORXZ::mkTRef ( )
constexpr

Definition at line 22 of file uuid.cc.

◆ mkUuid()

Uuid CNORXZ::mkUuid ( )

create new uuid

Definition at line 38 of file uuid.cc.

◆ modulo()

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::modulo ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 62 of file basic_operations.cc.h.

◆ moveToPtr()

template<class I >
Sptr< I > CNORXZ::moveToPtr ( I && i)

Definition at line 146 of file index_base.cc.h.

◆ mrange()

template<class... Ranges>
RangePtr CNORXZ::mrange ( const Sptr< Ranges > &... rs)

Create MRange pointer.

Parameters
rsPointer to sub-ranges.

Definition at line 800 of file mrange.cc.h.

◆ mul() [1/3]

template<typename T , SizeT N>
constexpr Arr< T, N > CNORXZ::mul ( const Arr< T, N > & a,
const T & b )
constexpr

Definition at line 125 of file utils.h.

◆ mul() [2/3]

template<typename T >
constexpr T CNORXZ::mul ( const T & a,
const T & b )
constexpr

Definition at line 140 of file utils.h.

◆ mul() [3/3]

template<typename T >
Vector< T > CNORXZ::mul ( const Vector< T > & a,
const T & b )

Definition at line 132 of file utils.h.

◆ multiplies()

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::multiplies ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 48 of file basic_operations.cc.h.

◆ operation()

template<class F , class... Ops>
constexpr decltype(auto) CNORXZ::operation ( F && f,
const Ops &... ops )
constexpr

Definition at line 428 of file op_types.cc.h.

◆ operator!=() [1/2]

template<class T , class U >
bool CNORXZ::operator!= ( const Allocator< T > & a,
const Allocator< U > & b )

compare two cnorxz allocators; unequality check returns always false

Definition at line 49 of file allocator.cc.h.

◆ operator!=() [2/2]

bool CNORXZ::operator!= ( const Uuid & a,
const Uuid & b )
inline

operator not equal to

Parameters
aleft hand side
bright hand side

Definition at line 45 of file uuid.h.

◆ operator%()

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::operator% ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 103 of file basic_operations.cc.h.

◆ operator*() [1/26]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator* ( const Consecutive< T, N > & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 211 of file reg.h.

◆ operator*() [2/26]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator* ( const Consecutive< T, N > & a,
const U & b )
constexpr

Definition at line 215 of file reg.h.

◆ operator*() [3/26]

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::operator* ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 91 of file basic_operations.cc.h.

◆ operator*() [4/26]

Combine two dynamic index packs

Parameters
aFirst Index pack.
bSecond Index pack.
Returns
New index pack. a is appended on the l.h.s. of b.

Definition at line 119 of file index_mul.cc.h.

◆ operator*() [5/26]

Extend dynamic index pack on the r.h.s.

Parameters
aIndex pack to be extended.
bIndex to be appended.
Returns
Extended pack.

Definition at line 114 of file index_mul.cc.h.

◆ operator*() [6/26]

Extend dynamic index pack on the l.h.s.

Parameters
aIndex to be appended.
bIndex pack to be extended.
Returns
Extended pack.

Definition at line 108 of file index_mul.cc.h.

◆ operator*() [7/26]

Combine two indices to a static index 2-pack.

Parameters
aFirst index.
bSecond index.
Returns
Static index 2-pack

Definition at line 59 of file index_mul.cc.h.

◆ operator*() [8/26]

template<class I1 , typename Meta1 , class... Indices>
decltype(auto) CNORXZ::operator* ( const IndexInterface< I1, Meta1 > & a,
const SPack< Indices... > & b )
inline

Extend static index pack on the l.h.s.

Parameters
aIndex to be appended.
bIndex pack to be extended.
Returns
Extended pack.

Definition at line 72 of file index_mul.cc.h.

◆ operator*() [9/26]

create a pack consisting of the ranges of a and b

Parameters
apack of ranges
bpack of ranges

Definition at line 140 of file range_base.cc.

◆ operator*() [10/26]

create a pack consisting of the ranges of a and the range b

Parameters
apack of ranges
bpointer to first range

Definition at line 131 of file range_base.cc.

◆ operator*() [11/26]

create a pack consisting of ranges a and the ranges of b

Parameters
apointer to first range
bpack of ranges

Definition at line 122 of file range_base.cc.

◆ operator*() [12/26]

create a pack consisting of ranges a and b

Parameters
apointer to first range
bpointer to second range

Definition at line 113 of file range_base.cc.

◆ operator*() [13/26]

template<class I2 , typename Meta2 , class... Indices>
decltype(auto) CNORXZ::operator* ( const SPack< Indices... > & a,
const IndexInterface< I2, Meta2 > & b )
inline

Extend static index pack on the r.h.s.

Parameters
aIndex pack to be extended.
bIndex to be appended.
Returns
Extended pack.

Definition at line 79 of file index_mul.cc.h.

◆ operator*() [14/26]

template<class Index , class... Indices>
decltype(auto) CNORXZ::operator* ( const SPack< Indices... > & a,
const Sptr< Index > & b )
inline

Definition at line 94 of file index_mul.cc.h.

◆ operator*() [15/26]

template<class... Indices1, class... Indices2>
decltype(auto) CNORXZ::operator* ( const SPack< Indices1... > & a,
const SPack< Indices2... > & b )
inline

Combine two static index packs

Parameters
aFirst Index pack.
bSecond Index pack.
Returns
New index pack. a is appended on the l.h.s. of b.

Definition at line 102 of file index_mul.cc.h.

◆ operator*() [16/26]

template<class I >
decltype(auto) CNORXZ::operator* ( const Sptr< CIndex > & a,
const Sptr< I > & b )

Make index pack of a CIndex and another index.

Parameters
apointer to CIndex.
bpointer to another index.

Definition at line 38 of file crange.cc.h.

◆ operator*() [17/26]

template<class I >
decltype(auto) CNORXZ::operator* ( const Sptr< DIndex > & a,
const Sptr< I > & b )

Make index pack of a DIndex and another index.

Parameters
apointer to DIndex.
bpointer to another index.

Definition at line 43 of file dindex.cc.h.

◆ operator*() [18/26]

template<typename MetaT , SizeT S, SizeT L, class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< EIndex< MetaT, S, L > > & a,
const Sptr< I1 > & b )

Make index pack from EIndex and second index of arbitrary type

Definition at line 36 of file eindex.cc.h.

◆ operator*() [19/26]

template<class I1 , class FormatT , class... Indices>
decltype(auto) CNORXZ::operator* ( const Sptr< GMIndex< FormatT, Indices... > > & a,
const Sptr< I1 > & b )

Specialization for index multiplication with GMIndex on the l.h.s.

Parameters
aFirst index of type GMIndex.
bSecond index of arbitrary type.

Definition at line 641 of file mrange.cc.h.

◆ operator*() [20/26]

template<class Index , class... Indices>
decltype(auto) CNORXZ::operator* ( const Sptr< Index > & a,
const SPack< Indices... > & b )
inline

Definition at line 86 of file index_mul.cc.h.

◆ operator*() [21/26]

template<class Index , SizeT L, class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< LIndex< Index, L > > & a,
const Sptr< I1 > & b )

Specialize index multiplication for LIndex.

Parameters
aPointer to first index which is a LIndex.
bPointer to second index of arbitrary type.
Returns
Resulting index pack.

Definition at line 56 of file lindex.cc.h.

◆ operator*() [22/26]

template<class I , class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< PIndex< I > > & a,
const Sptr< I1 > & b )

Make index pack of a PIndex and another index.

Parameters
apointer to PIndex.
bpointer to another index.

Definition at line 269 of file prange.cc.h.

◆ operator*() [23/26]

template<typename MetaT , SizeT S, class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< SIndex< MetaT, S > > & a,
const Sptr< I1 > & b )

Make index pack of a SIndex and another index.

Parameters
apointer to SIndex.
bpointer to another index.

◆ operator*() [24/26]

template<typename MetaType , SizeT S, class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< SIndex< MetaType, S > > & a,
const Sptr< I1 > & b )

Definition at line 209 of file srange.cc.h.

◆ operator*() [25/26]

template<typename MetaT , class I1 >
decltype(auto) CNORXZ::operator* ( const Sptr< UIndex< MetaT > > & a,
const Sptr< I1 > & b )

Make index pack of a UIndex and another index.

Parameters
apointer to UIndex.
bpointer to another index.

Definition at line 219 of file urange.cc.h.

◆ operator*() [26/26]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator* ( const T & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 219 of file reg.h.

◆ operator*=() [1/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator*= ( Consecutive< T, N > & o,
const Consecutive< U, N > & a )
constexpr

Definition at line 223 of file reg.h.

◆ operator*=() [2/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator*= ( Consecutive< T, N > & o,
const U & a )
constexpr

Definition at line 227 of file reg.h.

◆ operator+() [1/5]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator+ ( const Consecutive< T, N > & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 117 of file reg.h.

◆ operator+() [2/5]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator+ ( const Consecutive< T, N > & a,
const U & b )
constexpr

Definition at line 121 of file reg.h.

◆ operator+() [3/5]

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::operator+ ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 79 of file basic_operations.cc.h.

◆ operator+() [4/5]

template<class I , typename MetaType >
IndexPtr< I, MetaType > CNORXZ::operator+ ( const IndexPtr< I, MetaType > & i,
Int n )

Definition at line 134 of file index_base.cc.h.

◆ operator+() [5/5]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator+ ( const T & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 125 of file reg.h.

◆ operator++()

template<class I , typename MetaType >
IndexPtr< I, MetaType > & CNORXZ::operator++ ( const IndexPtr< I, MetaType > & i)

Definition at line 120 of file index_base.cc.h.

◆ operator+=() [1/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator+= ( Consecutive< T, N > & o,
const Consecutive< U, N > & a )
constexpr

Definition at line 129 of file reg.h.

◆ operator+=() [2/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator+= ( Consecutive< T, N > & o,
const U & a )
constexpr

Definition at line 133 of file reg.h.

◆ operator-() [1/6]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator- ( const Consecutive< T, N > & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 164 of file reg.h.

◆ operator-() [2/6]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator- ( const Consecutive< T, N > & a,
const U & b )
constexpr

Definition at line 168 of file reg.h.

◆ operator-() [3/6]

template<class Op >
constexpr decltype(auto) CNORXZ::operator- ( const COpInterface< Op > & op)
constexpr

Definition at line 73 of file basic_operations.cc.h.

◆ operator-() [4/6]

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::operator- ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 85 of file basic_operations.cc.h.

◆ operator-() [5/6]

template<class I , typename MetaType >
IndexPtr< I, MetaType > CNORXZ::operator- ( const IndexPtr< I, MetaType > & i,
Int n )

Definition at line 140 of file index_base.cc.h.

◆ operator-() [6/6]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator- ( const T & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 172 of file reg.h.

◆ operator--()

template<class I , typename MetaType >
IndexPtr< I, MetaType > & CNORXZ::operator-- ( const IndexPtr< I, MetaType > & i)

Definition at line 127 of file index_base.cc.h.

◆ operator-=() [1/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator-= ( Consecutive< T, N > & o,
const Consecutive< U, N > & a )
constexpr

Definition at line 176 of file reg.h.

◆ operator-=() [2/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator-= ( Consecutive< T, N > & o,
const U & a )
constexpr

Definition at line 180 of file reg.h.

◆ operator/() [1/4]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator/ ( const Consecutive< T, N > & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 258 of file reg.h.

◆ operator/() [2/4]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator/ ( const Consecutive< T, N > & a,
const U & b )
constexpr

Definition at line 262 of file reg.h.

◆ operator/() [3/4]

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::operator/ ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 97 of file basic_operations.cc.h.

◆ operator/() [4/4]

template<typename T , typename U , SizeT N>
constexpr decltype(auto) CNORXZ::operator/ ( const T & a,
const Consecutive< U, N > & b )
constexpr

Definition at line 266 of file reg.h.

◆ operator/=() [1/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator/= ( Consecutive< T, N > & o,
const Consecutive< U, N > & a )
constexpr

Definition at line 270 of file reg.h.

◆ operator/=() [2/2]

template<typename T , typename U , SizeT N>
constexpr Consecutive< T, N > & CNORXZ::operator/= ( Consecutive< T, N > & o,
const U & a )
constexpr

Definition at line 274 of file reg.h.

◆ operator<()

bool CNORXZ::operator< ( const Uuid & a,
const Uuid & b )
inline

operator less than

Parameters
aleft hand side
bright hand side

Definition at line 54 of file uuid.h.

◆ operator<=()

bool CNORXZ::operator<= ( const Uuid & a,
const Uuid & b )
inline

operator less or equal

Parameters
aleft hand side
bright hand side

Definition at line 72 of file uuid.h.

◆ operator==() [1/2]

template<class T , class U >
bool CNORXZ::operator== ( const Allocator< T > & a,
const Allocator< U > & b )

compare two cnorxz allocators; equality check returns always true

Definition at line 43 of file allocator.cc.h.

◆ operator==() [2/2]

bool CNORXZ::operator== ( const Uuid & a,
const Uuid & b )
inline

operator equal to

Parameters
aleft hand side
bright hand side

Definition at line 36 of file uuid.h.

◆ operator>()

bool CNORXZ::operator> ( const Uuid & a,
const Uuid & b )
inline

operator greater than

Parameters
aleft hand side
bright hand side

Definition at line 63 of file uuid.h.

◆ operator>=()

bool CNORXZ::operator>= ( const Uuid & a,
const Uuid & b )
inline

operator greater or equal

Parameters
aleft hand side
bright hand side

Definition at line 81 of file uuid.h.

◆ oproot()

template<typename T , class IndexT >
constexpr decltype(auto) CNORXZ::oproot ( ArrayBase< T > & a,
const Sptr< IndexT > & ind )
constexpr

Definition at line 377 of file op_types.cc.h.

◆ plus()

template<class Op1 , class Op2 >
constexpr decltype(auto) CNORXZ::plus ( const COpInterface< Op1 > & op1,
const COpInterface< Op2 > & op2 )
constexpr

Definition at line 34 of file basic_operations.cc.h.

◆ poproot()

template<class IndexT , class Op >
constexpr decltype(auto) CNORXZ::poproot ( const Sptr< IndexT > & ind,
const SizeT * parts,
Op && op )
constexpr

Definition at line 173 of file op_types.cc.h.

◆ pos_get()

template<SizeT I, class PosT >
constexpr decltype(auto) CNORXZ::pos_get ( const PosT & pos)
constexpr

Definition at line 21 of file op_utility.cc.h.

◆ pos_unpack_args()

template<class F , class PosT , class... Ops>
auto CNORXZ::pos_unpack_args ( const F & f,
const PosT & pos,
const Tuple< Ops... > & args )
inline

Definition at line 52 of file op_utility.cc.h.

◆ pos_unpack_args_i()

template<class F , class PosT , class OpTuple , class OpSizes , SizeT... Is>
auto CNORXZ::pos_unpack_args_i ( const F & f,
const PosT & pos,
const OpTuple & args,
OpSizes opsizes,
std::index_sequence< Is... > is )
inline

Definition at line 45 of file op_utility.cc.h.

◆ prange()

template<class RangeT >
RangePtr CNORXZ::prange ( const Sptr< RangeT > & range,
const Vector< SizeT > & parts )

Create a PRange. Internally calls PRangeFactory.

Parameters
rangeRange to create a PRange on.
partsInteger vector indicating the parts w.r.t. input range to be covered by the PRange.

Definition at line 401 of file prange.cc.h.

◆ rangeCast()

template<class Range >
Sptr< Range > CNORXZ::rangeCast ( const RangePtr r)

wrapps RangeCast::func

Parameters
rpointer to range to be casted
Template Parameters
Rangespecify the range type to cast into
See also
RangeCast

Definition at line 53 of file range_base.cc.h.

◆ save()

template<class Archive >
void CNORXZ::save ( Archive & ar,
const Uuid & id )

Definition at line 30 of file cer_ranges.cc.h.

◆ spack()

template<class... Indices>
constexpr decltype(auto) CNORXZ::spack ( const Indices &... inds)
constexpr

Create static index pack

Template Parameters
Indicesindex types
Parameters
indsIndices to create the pack from
Returns
Created pack

Definition at line 103 of file index_pack.cc.h.

◆ spackp()

template<class... Indices>
constexpr decltype(auto) CNORXZ::spackp ( const Sptr< Indices > &... inds)
constexpr

Create static index pack from index pointers

Template Parameters
Indicesindex types
Parameters
indsIndices to create the pack from
Returns
Created pack

Definition at line 110 of file index_pack.cc.h.

◆ sum_index_sequence() [1/2]

template<SizeT J, SizeT I, SizeT... Is>
constexpr SizeT CNORXZ::sum_index_sequence ( std::index_sequence< I, Is... > is)
constexpr

Definition at line 33 of file op_utility.cc.h.

◆ sum_index_sequence() [2/2]

template<SizeT J, SizeT... Is>
constexpr SizeT CNORXZ::sum_index_sequence ( std::index_sequence< Is... > is)
constexpr

◆ swap()

template<typename MetaT >
void CNORXZ::swap ( UIndex< MetaT > & a,
UIndex< MetaT > & b )

Definition at line 133 of file urange.h.

◆ toString()

template<typename T >
String CNORXZ::toString ( const T & a)

wrapper function for ToString

Template Parameters
Ttype to be casted
Parameters
aobject to be casted

Definition at line 107 of file to_string.cc.h.

◆ toVec() [1/3]

template<typename T , SizeT N>
Vector< T > CNORXZ::toVec ( const Arr< T, N > & a)

Definition at line 22 of file utils.h.

◆ toVec() [2/3]

template<typename T >
Vector< T > CNORXZ::toVec ( const T & a)

Definition at line 35 of file utils.h.

◆ toVec() [3/3]

template<typename T >
Vector< T > CNORXZ::toVec ( const Vector< T > & a)

Definition at line 29 of file utils.h.

◆ urange()

template<typename MetaT >
RangePtr CNORXZ::urange ( const Vector< MetaT > & space)

Create an URange, calls URangeFactory.

Parameters
spaceMeta data space to create an URange on.
Returns
Created range.

Definition at line 467 of file urange.cc.h.

◆ vreg() [1/2]

template<typename T , class EPosT >
decltype(auto) CNORXZ::vreg ( const T * d,
const EPosT & pos )
inline

Definition at line 29 of file reg.cc.h.

◆ vreg() [2/2]

template<typename T , class EPosT >
decltype(auto) CNORXZ::vreg ( T * d,
const EPosT & pos )
inline

Definition at line 42 of file reg.cc.h.

◆ vregi()

template<typename T , class EPosT , SizeT... Is>
decltype(auto) CNORXZ::vregi ( const T * d,
const EPosT & pos,
std::index_sequence< Is... > is )
inline

Definition at line 21 of file reg.cc.h.

◆ xindexPtr()

template<class Index >
XIndexPtr CNORXZ::xindexPtr ( const Sptr< Index > & i)
inline

Create XIndex pointer.

Parameters
iIndex to be wrapped.
Returns
Pointer to created index wrapper.

Definition at line 217 of file xindex.cc.h.

◆ xindexPtr< XIndexBase >() [1/2]

template<>
XIndexPtr CNORXZ::xindexPtr< XIndexBase > ( const Sptr< XIndexBase > & i)
inline

Specialization of xindexPtr(). If input index type is already a XIndex, the corresponding pointer is just passed. This is to avoid unwanted chains of index wrappers.

Parameters
iInput index.
Returns
i.

Definition at line 225 of file xindex.cc.h.

◆ xindexPtr< XIndexBase >() [2/2]

template<>
XIndexPtr CNORXZ::xindexPtr< XIndexBase > ( const Sptr< XIndexBase > & i)
inline

Specialization of xindexPtr(). If input index type is already a XIndex, the corresponding pointer is just passed. This is to avoid unwanted chains of index wrappers.

Parameters
iInput index.
Returns
i.

Definition at line 225 of file xindex.cc.h.

◆ xpr()

template<class I >
decltype(auto) CNORXZ::xpr ( const Sptr< I > & i)

Definition at line 152 of file index_base.cc.h.

◆ yindex() [1/2]

YIndex CNORXZ::yindex ( const DPack & pack)

Create YIndex from an index pack assuming a trivial index format.

Parameters
packDynamic index pack.
Returns
The created YIndex.

Definition at line 524 of file yrange.cc.

◆ yindex() [2/2]

YIndex CNORXZ::yindex ( const Vector< XIndexPtr > & is)

Create YIndex from sub-indices assuming a trivial index format.

Parameters
isVector of pointers to the sub-indices used in the YIndex.
Returns
The created YIndex.

Definition at line 529 of file yrange.cc.

◆ yindexPtr() [1/3]

Sptr< YIndex > CNORXZ::yindexPtr ( const DPack & is)

Create YIndex from an index pack assuming a trivial index format.

Parameters
packDynamic index pack.
Returns
A shared pointer to the created YIndex.

Definition at line 534 of file yrange.cc.

◆ yindexPtr() [2/3]

Sptr< YIndex > CNORXZ::yindexPtr ( const Vector< SizeT > & bs,
const Vector< XIndexPtr > & is )

Create YIndex from sub-indices.

Parameters
isVector of pointers to the sub-indices used in the YIndex.
bsIndex format.
Returns
A shared pointer to the created YIndex.

◆ yindexPtr() [3/3]

Sptr< YIndex > CNORXZ::yindexPtr ( const Vector< XIndexPtr > & is)

Create YIndex from sub-indices assuming a trivial index format.

Parameters
isVector of pointers to the sub-indices used in the YIndex.
Returns
A shared pointer to the created YIndex.

Definition at line 539 of file yrange.cc.

◆ yrange()

RangePtr CNORXZ::yrange ( const Vector< RangePtr > & rs)

Create YRange from sub-ranges.

Parameters
rsVector of pointers to the sub-ranges used by the YRange.
Returns
A shared pointer to the created YRange.

Definition at line 666 of file yrange.cc.