GiNaC 1.8.7
Public Member Functions | Protected Attributes | Friends | List of all members
GiNaC::multi_iterator_ordered_eq_indv< T > Class Template Reference

The class multi_iterator_ordered_eq_indv defines a multi_iterator $(i_1,i_2,...,i_k)$, such that. More...

#include <utils_multi_iterator.h>

Inheritance diagram for GiNaC::multi_iterator_ordered_eq_indv< T >:
GiNaC::basic_multi_iterator< T >

Public Member Functions

 multi_iterator_ordered_eq_indv (void)
 Default constructor. More...
 
 multi_iterator_ordered_eq_indv (T B, const std::vector< T > &Nv, size_t k)
 Construct a multi_iterator with upper limit N and size k . More...
 
 multi_iterator_ordered_eq_indv (T B, const std::vector< T > &Nv, const std::vector< T > &vv)
 Construct from a vector. More...
 
basic_multi_iterator< T > & init (void)
 Initialize the multi-index to. 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...
 
operator[] (size_t i) const
 Subscription via []. More...
 
T & operator[] (size_t i)
 Subscription via []. More...
 
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

std::vector< T > Nv
 
- Protected Attributes inherited from GiNaC::basic_multi_iterator< T >
N
 
B
 
std::vector< T > v
 
bool flag_overflow
 

Friends

template<class TT >
std::ostream & operator<< (std::ostream &os, const multi_iterator_ordered_eq_indv< TT > &v)
 

Detailed Description

template<class T>
class GiNaC::multi_iterator_ordered_eq_indv< T >

The class multi_iterator_ordered_eq_indv defines a multi_iterator $(i_1,i_2,...,i_k)$, such that.

\[
    B \le i_j < N_j
\]

and

\[
    i_j \le i_{j+1}.
\]

Definition at line 222 of file utils_multi_iterator.h.

Constructor & Destructor Documentation

◆ multi_iterator_ordered_eq_indv() [1/3]

template<class T >
GiNaC::multi_iterator_ordered_eq_indv< T >::multi_iterator_ordered_eq_indv ( void  )
inline

Default constructor.

Definition at line 791 of file utils_multi_iterator.h.

◆ multi_iterator_ordered_eq_indv() [2/3]

template<class T >
GiNaC::multi_iterator_ordered_eq_indv< T >::multi_iterator_ordered_eq_indv ( B,
const std::vector< T > &  Nv,
size_t  k 
)
inlineexplicit

Construct a multi_iterator with upper limit N and size k .

Definition at line 799 of file utils_multi_iterator.h.

◆ multi_iterator_ordered_eq_indv() [3/3]

template<class T >
GiNaC::multi_iterator_ordered_eq_indv< T >::multi_iterator_ordered_eq_indv ( B,
const std::vector< T > &  Nv,
const std::vector< T > &  vv 
)
inlineexplicit

Construct from a vector.

Definition at line 807 of file utils_multi_iterator.h.

Member Function Documentation

◆ init()

template<class T >
basic_multi_iterator< T > & GiNaC::multi_iterator_ordered_eq_indv< T >::init ( void  )
inlinevirtual

Initialize the multi-index to.

\[
   (n_1,n_2,n_3,...,n_k) = (B,B,B,...,B)
\]

Reimplemented from GiNaC::basic_multi_iterator< T >.

Definition at line 820 of file utils_multi_iterator.h.

◆ operator++()

template<class T >
basic_multi_iterator< T > & GiNaC::multi_iterator_ordered_eq_indv< T >::operator++ ( int  )
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 841 of file utils_multi_iterator.h.

References k.

Friends And Related Function Documentation

◆ operator<<

template<class T >
template<class TT >
std::ostream & operator<< ( std::ostream &  os,
const multi_iterator_ordered_eq_indv< TT > &  v 
)
friend

Member Data Documentation

◆ Nv

template<class T >
std::vector<T> GiNaC::multi_iterator_ordered_eq_indv< T >::Nv
protected

Definition at line 242 of file utils_multi_iterator.h.


The documentation for this class was generated from the following file:

This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.