C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
blitzplusplus::basi Namespace Reference

The name of the namespace stands for BlitzArraySliceIterator. More...

Namespaces

 ttd
 Contains template aliases for use in BlitzArraySliceIterator.h & BlitzArraySliceIterator.tcc.
 

Classes

struct  ConsistencyChecker
 Checking the consistency of template arguments for use in slicing. More...
 
struct  ConsistencyChecker< RANK, boost::mpl::range_c< int, I1, I2 > >
 Specialization necessary since boost::mpl::range_c cannot be sorted. More...
 
class  Indexer
 Performs the slicing on an array already transposed by Transposer. More...
 
class  Iterator
 BlitzArraySliceIterator. More...
 
struct  Size
 A forwarding metafunction to boost::mpl::size. More...
 
class  Transposer
 Class performing the “possible permutation” of the retained indices (cf. Synopsis). More...
 
class  TransposerOrIndexerRankTooHighException
 Exception thrown if the partial specialization of Transposer or Indexer for the given RANK does not exist. More...
 

Functions

template<int RANK, typename V >
const ttd::VecIdxTiny< RANK, V > filterOut (const IdxTiny< RANK > &idx)
 Filters out the indices corresponding to a subsystem. More...
 

Detailed Description

The name of the namespace stands for BlitzArraySliceIterator.

Function Documentation

template<int RANK, typename V >
const ttd::VecIdxTiny<RANK,V> blitzplusplus::basi::filterOut ( const IdxTiny< RANK > &  idx)

Filters out the indices corresponding to a subsystem.

Template Parameters
RANKarity of the Hilbert space
Vcompile-time vector specifying the subsystem (cf. Specifying subsystems)
Parameters
idxthe indices to be filtered (of number RANK)
Returns
the indices not contained by the subsystem specified by V (of number RANK-Size<V>::value)