|
LIBINT 2.9.0
|
SubIteratorBase<T> provides a base class for a sub-iterator class for T. More...
#include <iter.h>


Public Types | |
| typedef T::iter_type | iter_type |
| typedef Tr< T > | TPolicy |
| typedef TPolicy::obj_stype | tref |
| typedef TPolicy::subobj_stype | iref |
| typedef const ConstructablePolymorphically & | cp_rettype |
| Return reference to ConstructablePolymorphically as object of this type. | |
Public Member Functions | |
| SubIteratorBase (const tref &) | |
| const iref & | elem () const |
| Returns current element. | |
| cp_rettype | pelem () const override |
| Returns current element. Implements SubIterator's pelem(). | |
| unsigned int | num_iter () const override |
| Returns a number of iterations (number of elements in a set over which to iterate). | |
| void | init () override |
| Initializes the iterator. | |
| SubIterator & | operator++ () override |
| Iterates to the next element. Only prefix form is provided. | |
| operator int () const override | |
| This is used to check whether current element exists. | |
Protected Attributes | |
| const tref | obj_ |
| std::vector< iref > | subobj_ |
SubIteratorBase<T> provides a base class for a sub-iterator class for T.
It iterates through T as if it were a set of some data of type T::iter_type. Traits of class T (ordering of T::iter_type, etc.) are provided by Tr<T>.
|
overridevirtual |
Initializes the iterator.
Implements libint2::SubIterator.
|
overridevirtual |
Returns a number of iterations (number of elements in a set over which to iterate).
Implements libint2::SubIterator.
|
overridevirtual |
This is used to check whether current element exists.
Returns 1 if it does.
Implements libint2::SubIterator.
|
overridevirtual |
Iterates to the next element. Only prefix form is provided.
Implements libint2::SubIterator.
|
overridevirtual |
Returns current element. Implements SubIterator's pelem().
Reimplemented from libint2::SubIterator.