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*().