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

The class multi_iterator_ordered_eq 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< T >:
GiNaC::basic_multi_iterator< T >

Public Member Functions

 multi_iterator_ordered_eq (void)
 Default constructor. More...
 
 multi_iterator_ordered_eq (T B, T N, size_t k)
 Construct a multi_iterator with upper limit N and size k . More...
 
 multi_iterator_ordered_eq (T B, T N, 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...
 

Friends

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

Additional Inherited Members

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

Detailed Description

template<class T>
class GiNaC::multi_iterator_ordered_eq< T >

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

\[
    B \le i_j < N
\]

and

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

It is assumed that $k>0$.

Definition at line 189 of file utils_multi_iterator.h.

Constructor & Destructor Documentation

◆ multi_iterator_ordered_eq() [1/3]

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

Default constructor.

Definition at line 679 of file utils_multi_iterator.h.

◆ multi_iterator_ordered_eq() [2/3]

template<class T >
GiNaC::multi_iterator_ordered_eq< T >::multi_iterator_ordered_eq ( B,
N,
size_t  k 
)
inlineexplicit

Construct a multi_iterator with upper limit N and size k .

Definition at line 687 of file utils_multi_iterator.h.

◆ multi_iterator_ordered_eq() [3/3]

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

Construct from a vector.

Definition at line 695 of file utils_multi_iterator.h.

Member Function Documentation

◆ init()

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

Initialize the multi-index to.

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

Reimplemented from GiNaC::basic_multi_iterator< T >.

Definition at line 708 of file utils_multi_iterator.h.

◆ operator++()

template<class T >
basic_multi_iterator< T > & GiNaC::multi_iterator_ordered_eq< 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 729 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< TT > &  v 
)
friend

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.