| souffle
    2.0.2-371-g6315b36
    | 
Wrapper class for abstract iterator. More...
#include <SouffleInterface.h>

| Public Member Functions | |
| iterator ()=default | |
| Constructor.  More... | |
| iterator (const iterator &o) | |
| Constructor.  More... | |
| iterator (iterator &&arg)=default | |
| Move constructor.  More... | |
| iterator (std::unique_ptr< iterator_base > it) | |
| Constructor.  More... | |
| bool | operator!= (const iterator &o) const | 
| Overload the "!=" operator.  More... | |
| tuple & | operator* () const | 
| Overload the "*" operator.  More... | |
| iterator & | operator++ () | 
| Overload the "++" operator.  More... | |
| iterator | operator++ (int) | 
| Overload the "++" operator.  More... | |
| iterator & | operator= (const iterator &o) | 
| Overload the "=" operator.  More... | |
| iterator & | operator= (iterator &&o) | 
| bool | operator== (const iterator &o) const | 
| Overload the "==" operator.  More... | |
| ~iterator ()=default | |
| Destructor.  More... | |
| Protected Attributes | |
| std::unique_ptr< iterator_base > | iter = nullptr | 
Wrapper class for abstract iterator.
Users must use iterator class to access the tuples stored in a relation.
Definition at line 158 of file SouffleInterface.h.
| 
 | default | 
Constructor.
| 
 | default | 
Move constructor.
The new iterator now has ownerhsip of the iterator base.
| arg | lvalue reference to an iterator object | 
| 
 | inline | 
Constructor.
Initialise this iterator with a given iterator base
The new iterator has ownership of the iterator base.
| arg | An iterator_base class pointer | 
Definition at line 190 of file SouffleInterface.h.
| 
 | default | 
Destructor.
The iterator_base instance iter is pointing is destructed.
| 
 | inline | 
Constructor.
Initialise the iter to be the clone of arg.
| o | Reference to an iterator object | 
Definition at line 206 of file SouffleInterface.h.
| 
 | inline | 
Overload the "!=" operator.
Check if the iterator object o is not the same as the current object.
| o | Reference to a iterator object | 
Definition at line 283 of file SouffleInterface.h.
References souffle::Relation::getArity(), and souffle::Relation::getAuxiliaryArity().

| 
 | inline | 
Overload the "*" operator.
This will return the tuple that the iterator is pointing to.
Definition at line 258 of file SouffleInterface.h.
| 
 | inline | 
Overload the "++" operator.
Increment the iterator_base object that iter is pointing to so that iterator_base object points to next tuple.
Definition at line 231 of file SouffleInterface.h.
| 
 | inline | 
Overload the "++" operator.
Copies the iterator, increments itself, and returns the (pre-increment) copy. WARNING: Expensive due to copy! Included for API compatibility.
this. Definition at line 244 of file SouffleInterface.h.
Overload the "=" operator.
The original iterator_base instance is destructed.
Definition at line 213 of file SouffleInterface.h.
Definition at line 218 of file SouffleInterface.h.
| 
 | inline | 
Overload the "==" operator.
Check if either the iter of o and the iter of current object are the same or the corresponding iterator_base objects are the same.
| o | Reference to a iterator object | 
Definition at line 271 of file SouffleInterface.h.
References o.
| 
 | protected | 
Definition at line 164 of file SouffleInterface.h.
Referenced by iterator(), and operator*().
 1.8.17
 1.8.17