souffle  2.0.2-371-g6315b36
Public Member Functions | Private Attributes
souffle::interpreter::Relation< _Arity, Structure >::iterator_base Class Reference

#include <Relation.h>

Inheritance diagram for souffle::interpreter::Relation< _Arity, Structure >::iterator_base:
Inheritance graph
Collaboration diagram for souffle::interpreter::Relation< _Arity, Structure >::iterator_base:
Collaboration graph

Public Member Functions

iterator_baseclone () const override
 
bool equal (const RelationWrapper::iterator_base &other) const override
 
 iterator_base (typename Index::iterator iter, Order order)
 
const RamDomainoperator* () override
 
iterator_baseoperator++ () override
 
- Public Member Functions inherited from souffle::interpreter::RelationWrapper::iterator_base
virtual ~iterator_base ()=default
 

Private Attributes

RamDomain data [Arity]
 
iterator iter
 
Order order
 

Detailed Description

template<size_t _Arity, template< size_t > typename Structure>
class souffle::interpreter::Relation< _Arity, Structure >::iterator_base

Definition at line 239 of file Relation.h.

Constructor & Destructor Documentation

◆ iterator_base()

template<size_t _Arity, template< size_t > typename Structure>
souffle::interpreter::Relation< _Arity, Structure >::iterator_base::iterator_base ( typename Index::iterator  iter,
Order  order 
)
inline

Definition at line 245 of file Relation.h.

247  {

Member Function Documentation

◆ clone()

template<size_t _Arity, template< size_t > typename Structure>
iterator_base* souffle::interpreter::Relation< _Arity, Structure >::iterator_base::clone ( ) const
inlineoverridevirtual

Implements souffle::interpreter::RelationWrapper::iterator_base.

Definition at line 262 of file Relation.h.

268  {

◆ equal()

template<size_t _Arity, template< size_t > typename Structure>
bool souffle::interpreter::Relation< _Arity, Structure >::iterator_base::equal ( const RelationWrapper::iterator_base other) const
inlineoverridevirtual

Implements souffle::interpreter::RelationWrapper::iterator_base.

Definition at line 266 of file Relation.h.

268  {
269  return Iterator(new iterator_base(main->begin(), main->getOrder()));
270  }
271 

◆ operator*()

template<size_t _Arity, template< size_t > typename Structure>
const RamDomain* souffle::interpreter::Relation< _Arity, Structure >::iterator_base::operator* ( )
inlineoverridevirtual

Implements souffle::interpreter::RelationWrapper::iterator_base.

Definition at line 253 of file Relation.h.

256  {
257  return new iterator_base(iter, order);
258  }
259 
260  bool equal(const RelationWrapper::iterator_base& other) const override {

◆ operator++()

template<size_t _Arity, template< size_t > typename Structure>
iterator_base& souffle::interpreter::Relation< _Arity, Structure >::iterator_base::operator++ ( )
inlineoverridevirtual

Field Documentation

◆ data

template<size_t _Arity, template< size_t > typename Structure>
RamDomain souffle::interpreter::Relation< _Arity, Structure >::iterator_base::data[Arity]
private

◆ iter

template<size_t _Arity, template< size_t > typename Structure>
iterator souffle::interpreter::Relation< _Arity, Structure >::iterator_base::iter
private

Definition at line 240 of file Relation.h.

◆ order

template<size_t _Arity, template< size_t > typename Structure>
Order souffle::interpreter::Relation< _Arity, Structure >::iterator_base::order
private

The documentation for this class was generated from the following file:
souffle::interpreter::Relation::iterator_base::iter
iterator iter
Definition: Relation.h:240
souffle::interpreter::Relation::iterator_base::order
Order order
Definition: Relation.h:241
souffle::interpreter::Relation::iterator_base::equal
bool equal(const RelationWrapper::iterator_base &other) const override
Definition: Relation.h:266
i
size_t i
Definition: json11.h:663
souffle::interpreter::Relation::main
Index * main
Definition: Relation.h:406
souffle::interpreter::Relation::iterator_base::iterator_base
iterator_base(typename Index::iterator iter, Order order)
Definition: Relation.h:245
souffle::interpreter::Index::getOrder
Order getOrder() const
Obtains the lex order of this index.
Definition: Index.h:214
souffle::interpreter::Relation::iterator_base::data
RamDomain data[Arity]
Definition: Relation.h:242
souffle::interpreter::Index::begin
iterator begin() const
Definition: Index.h:203