GiNaC 1.8.7
|
The class multi_iterator_shuffle defines a multi_iterator, which runs over all shuffles of a and b. More...
#include <utils_multi_iterator.h>
Public Member Functions | |
multi_iterator_shuffle (void) | |
Default constructor. More... | |
multi_iterator_shuffle (const std::vector< T > &a, const std::vector< T > &b) | |
Construct from a vector. More... | |
basic_multi_iterator< T > & | init (void) |
Initialize the multi-index to the first shuffle. More... | |
basic_multi_iterator< T > & | operator++ (int) |
The postfix increment operator allows to write for a multi-index n++, which will update n to the next configuration. More... | |
Public Member Functions inherited from GiNaC::basic_multi_iterator< T > | |
basic_multi_iterator (void) | |
Default constructor. More... | |
basic_multi_iterator (T B, T N, size_t k) | |
Construct a multi_iterator with upper limit N, lower limit B and size k . More... | |
basic_multi_iterator (T B, T N, const std::vector< T > &vv) | |
Construct from a vector. More... | |
virtual | ~basic_multi_iterator () |
Destructor. More... | |
size_t | size (void) const |
Returns the size of a multi_iterator. More... | |
bool | overflow (void) const |
Return the overflow flag. More... | |
const std::vector< T > & | get_vector (void) const |
Returns a reference to the vector v. More... | |
T | operator[] (size_t i) const |
Subscription via []. More... | |
T & | operator[] (size_t i) |
Subscription via []. More... | |
T | operator() (size_t i) const |
Subscription via () More... | |
T & | operator() (size_t i) |
Subscription via () More... | |
virtual basic_multi_iterator< T > & | init (void) |
Initialize the multi-index to. More... | |
virtual basic_multi_iterator< T > & | operator++ (int) |
No effect for basic_multi_iterator. More... | |
Protected Attributes | |
size_t | N_internal |
std::vector< size_t > | v_internal |
std::vector< T > | v_orig |
Protected Attributes inherited from GiNaC::basic_multi_iterator< T > | |
T | N |
T | B |
std::vector< T > | v |
bool | flag_overflow |
Friends | |
template<class TT > | |
std::ostream & | operator<< (std::ostream &os, const multi_iterator_shuffle< TT > &v) |
The class multi_iterator_shuffle defines a multi_iterator, which runs over all shuffles of a and b.
Definition at line 350 of file utils_multi_iterator.h.
|
inline |
Default constructor.
Definition at line 1290 of file utils_multi_iterator.h.
|
inlineexplicit |
Construct from a vector.
Definition at line 1298 of file utils_multi_iterator.h.
References GiNaC::basic_multi_iterator< T >::B, GiNaC::multi_iterator_shuffle< T >::N_internal, GiNaC::basic_multi_iterator< T >::v, GiNaC::multi_iterator_shuffle< T >::v_internal, and GiNaC::multi_iterator_shuffle< T >::v_orig.
|
inlinevirtual |
Initialize the multi-index to the first shuffle.
Reimplemented from GiNaC::basic_multi_iterator< T >.
Reimplemented in GiNaC::multi_iterator_shuffle_prime< T >.
Definition at line 1321 of file utils_multi_iterator.h.
|
inlinevirtual |
The postfix increment operator allows to write for a multi-index n++, which will update n to the next configuration.
If n is in the last configuration and the increment operator ++ is applied to n, the overflow flag will be raised.
Reimplemented from GiNaC::basic_multi_iterator< T >.
Definition at line 1345 of file utils_multi_iterator.h.
References k.
|
friend |
|
protected |
Definition at line 369 of file utils_multi_iterator.h.
Referenced by GiNaC::multi_iterator_shuffle< T >::multi_iterator_shuffle().
|
protected |
Definition at line 370 of file utils_multi_iterator.h.
Referenced by GiNaC::multi_iterator_shuffle< T >::multi_iterator_shuffle().
|
protected |
Definition at line 371 of file utils_multi_iterator.h.
Referenced by GiNaC::multi_iterator_shuffle< T >::multi_iterator_shuffle().