Cadabra
Computer algebra system for field theory problems
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
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: