Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
cadabra::index_iterator Class Reference

Description

An iterator which iterates over indices even if they are at lower levels, i.e.

taking into account the "Inherit" property of nodes. Needs access to Properties in the current scope in order to determine which objects are indices.

#include <IndexIterator.hh>

Inheritance diagram for cadabra::index_iterator:

Public Member Functions

 index_iterator (const Properties &)
 index_iterator (const index_iterator &)
index_iteratoroperator= (const index_iterator &)
bool operator== (const index_iterator &) const
bool operator!= (const index_iterator &) const
index_iteratoroperator++ ()
index_iterator operator++ (int)
index_iteratoroperator+= (unsigned int)

Static Public Member Functions

static index_iterator create (const Properties &, const iterator_base &)
static index_iterator begin (const Properties &, const iterator_base &, int offset=0)
static index_iterator end (const Properties &, const iterator_base &)

Public Attributes

Ex::iterator halt
Ex::iterator walk
Ex::iterator roof

Private Member Functions

bool is_index (Ex::iterator) const

Private Attributes

const Propertiesproperties

Constructor & Destructor Documentation

◆ index_iterator() [1/2]

index_iterator::index_iterator ( const Properties & k)

◆ index_iterator() [2/2]

index_iterator::index_iterator ( const index_iterator & other)

Member Function Documentation

◆ begin()

index_iterator index_iterator::begin ( const Properties & properties,
const iterator_base & it,
int offset = 0 )
static

◆ create()

index_iterator index_iterator::create ( const Properties & k,
const iterator_base & other )
static

◆ end()

index_iterator index_iterator::end ( const Properties & properties,
const iterator_base & it )
static

◆ is_index()

bool cadabra::index_iterator::is_index ( Ex::iterator ) const
private

◆ operator!=()

bool index_iterator::operator!= ( const index_iterator & other) const

◆ operator++() [1/2]

index_iterator & index_iterator::operator++ ( )

◆ operator++() [2/2]

index_iterator cadabra::index_iterator::operator++ ( int )

◆ operator+=()

index_iterator & index_iterator::operator+= ( unsigned int num)

◆ operator=()

index_iterator & index_iterator::operator= ( const index_iterator & other)

◆ operator==()

bool index_iterator::operator== ( const index_iterator & other) const

Member Data Documentation

◆ halt

Ex::iterator cadabra::index_iterator::halt

◆ properties

const Properties* cadabra::index_iterator::properties
private

◆ roof

Ex::iterator cadabra::index_iterator::roof

◆ walk

Ex::iterator cadabra::index_iterator::walk

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