GiNaC 1.8.7
Classes | Namespaces | Functions
utils_multi_iterator.h File Reference

Utilities for summing over multiple indices. More...

#include <cstddef>
#include <vector>
#include <ostream>
#include <iterator>

Go to the source code of this file.

Classes

class  GiNaC::has_distance< T >
 SFINAE test for distance. More...
 
class  GiNaC::basic_multi_iterator< T >
 basic_multi_iterator is a base class. More...
 
class  GiNaC::multi_iterator_ordered< T >
 The class multi_iterator_ordered defines a multi_iterator $(i_1,i_2,...,i_k)$, such that. More...
 
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. More...
 
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. More...
 
class  GiNaC::multi_iterator_counter< T >
 The class multi_iterator_counter defines a multi_iterator $(i_1,i_2,...,i_k)$, such that. More...
 
class  GiNaC::multi_iterator_counter_indv< T >
 The class multi_iterator_counter_indv defines a multi_iterator $(i_1,i_2,...,i_k)$, such that. More...
 
class  GiNaC::multi_iterator_permutation< T >
 The class multi_iterator_permutation defines a multi_iterator $(i_1,i_2,...,i_k)$, for which. More...
 
class  GiNaC::multi_iterator_shuffle< T >
 The class multi_iterator_shuffle defines a multi_iterator, which runs over all shuffles of a and b. More...
 
class  GiNaC::multi_iterator_shuffle_prime< T >
 The class multi_iterator_shuffle_prime defines a multi_iterator, which runs over all shuffles of a and b, excluding the first one (a,b). More...
 

Namespaces

namespace  GiNaC
 

Functions

template<typename T >
std::enable_if< has_distance< T >::value, typenamestd::iterator_traits< T >::difference_type >::type GiNaC::format_index_value (const T &a, const T &b)
 For printing a multi-index: If the templates are used, where T is an iterator, printing the address where the iterator points to is not meaningful. More...
 
template<typename T >
std::enable_if<!has_distance< T >::value, T >::type GiNaC::format_index_value (const T &a, const T &b)
 For all other cases we simply print the value. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const basic_multi_iterator< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_ordered< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_ordered_eq< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_ordered_eq_indv< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_counter< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_counter_indv< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_permutation< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_shuffle< T > &v)
 Output operator. More...
 
template<class T >
std::ostream & GiNaC::operator<< (std::ostream &os, const multi_iterator_shuffle_prime< T > &v)
 Output operator. More...
 

Detailed Description

Utilities for summing over multiple indices.

Definition in file utils_multi_iterator.h.


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