LIBINT  2.1.0-stable
Public Member Functions | List of all members
libint2::SubIterator Class Referenceabstract

Iterator provides a base class for all object iterator classes. More...

#include <iter.h>

Inheritance diagram for libint2::SubIterator:
Inheritance graph
[legend]

Public Member Functions

virtual unsigned int num_iter () const =0
 Returns a number of iterations (number of elements in a set over which to iterate).
 
virtual void init ()=0
 Initializes the iterator.
 
virtual SubIteratoroperator++ ()=0
 Iterates to the next element. Only prefix form is provided.
 
virtual operator int () const =0
 This is used to check whether next element exists. Returns 1 if it does.
 
virtual const ConstructablePolymorphicallypelem () const
 Return current element via base class. More...
 

Detailed Description

Iterator provides a base class for all object iterator classes.

It iterates over certain objects as if they were sets of some other data. For example, Iterator can be implemented for iterating over Gaussian functions within shells, or over integrals within shell sets of integrals.

Member Function Documentation

const ConstructablePolymorphically & SubIterator::pelem ( ) const
virtual

Return current element via base class.

These functions can only be be implemented if elements are derived from ConstructablePolymorphically. Default implementation throws, thus must be overridden by SubIteratorBase<T>.

Reimplemented in libint2::SubIteratorBase< T, Tr >.


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