LIBINT 2.9.0
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.
 

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

◆ init()

virtual void libint2::SubIterator::init ( )
pure virtual

Initializes the iterator.

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

◆ num_iter()

virtual unsigned int libint2::SubIterator::num_iter ( ) const
pure virtual

Returns a number of iterations (number of elements in a set over which to iterate).

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

Referenced by libint2::HRR< IntType, BFSet, part, loc_a, pos_a, loc_b, pos_b >::spfunction_call().

◆ operator int()

virtual libint2::SubIterator::operator int ( ) const
pure virtual

This is used to check whether next element exists. Returns 1 if it does.

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

◆ operator++()

virtual SubIterator & libint2::SubIterator::operator++ ( )
pure virtual

Iterates to the next element. Only prefix form is provided.

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

◆ pelem()

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: