souffle  2.0.2-371-g6315b36
Public Types | Public Member Functions | Private Attributes | Friends
souffle::detail::brie::TrieTypes< Dim >::iterator_core Struct Reference

#include <Brie.h>

Collaboration diagram for souffle::detail::brie::TrieTypes< Dim >::iterator_core:
Collaboration graph

Public Types

using nested_core_iter = typename nested_trie_type::iterator_core
 
using store_iter = typename store_type::iterator
 

Public Member Functions

store_itergetIterator ()
 
nested_core_itergetNested ()
 
bool inc (entry_span_type entry)
 
 iterator_core ()=default
 
 iterator_core (store_iter store_iter, entry_span_type entry)
 
bool operator!= (const iterator_core &other) const
 
bool operator== (const iterator_core &other) const
 
void print (std::ostream &out) const
 
void setIterator (store_iter store_iter)
 

Private Attributes

store_iter iter
 
nested_core_iter nested
 

Friends

std::ostream & operator<< (std::ostream &out, const iterator_core &iter)
 

Detailed Description

template<unsigned Dim>
struct souffle::detail::brie::TrieTypes< Dim >::iterator_core

Definition at line 2492 of file Brie.h.

Member Typedef Documentation

◆ nested_core_iter

Definition at line 2494 of file Brie.h.

◆ store_iter

template<unsigned Dim>
using souffle::detail::brie::TrieTypes< Dim >::iterator_core::store_iter = typename store_type::iterator

Definition at line 2493 of file Brie.h.

Constructor & Destructor Documentation

◆ iterator_core() [1/2]

template<unsigned Dim>
souffle::detail::brie::TrieTypes< Dim >::iterator_core::iterator_core ( )
default

◆ iterator_core() [2/2]

template<unsigned Dim>
souffle::detail::brie::TrieTypes< Dim >::iterator_core::iterator_core ( store_iter  store_iter,
entry_span_type  entry 
)
inline

Definition at line 2503 of file Brie.h.

2504  {
2505  // increment nested iterator
2506  auto nested_entry = tail(entry);

References souffle::detail::brie::tail().

Here is the call graph for this function:

Member Function Documentation

◆ getIterator()

template<unsigned Dim>
store_iter& souffle::detail::brie::TrieTypes< Dim >::iterator_core::getIterator ( )
inline

Definition at line 2512 of file Brie.h.

2519  {iter->second->getStore().begin(), nested_entry};

◆ getNested()

template<unsigned Dim>
nested_core_iter& souffle::detail::brie::TrieTypes< Dim >::iterator_core::getNested ( )
inline

Definition at line 2516 of file Brie.h.

2519  {iter->second->getStore().begin(), nested_entry};

◆ inc()

template<unsigned Dim>
bool souffle::detail::brie::TrieTypes< Dim >::iterator_core::inc ( entry_span_type  entry)
inline

Definition at line 2520 of file Brie.h.

2523  {
2524  return nested == other.nested && iter == other.iter;
2525  }
2526 
2527  bool operator!=(const iterator_core& other) const {
2528  return !(*this == other);
2529  }
2530 
2531  // enables this iterator core to be printed (for debugging)
2532  void print(std::ostream& out) const {
2533  out << iter << " | " << nested;
2534  }
2535 
2536  friend std::ostream& operator<<(std::ostream& out, const iterator_core& iter) {
2537  iter.print(out);

◆ operator!=()

template<unsigned Dim>
bool souffle::detail::brie::TrieTypes< Dim >::iterator_core::operator!= ( const iterator_core other) const
inline

Definition at line 2543 of file Brie.h.

2545  {

◆ operator==()

template<unsigned Dim>
bool souffle::detail::brie::TrieTypes< Dim >::iterator_core::operator== ( const iterator_core other) const
inline

Definition at line 2539 of file Brie.h.

2545  {

◆ print()

template<unsigned Dim>
void souffle::detail::brie::TrieTypes< Dim >::iterator_core::print ( std::ostream &  out) const
inline

Definition at line 2548 of file Brie.h.

2550  {};

◆ setIterator()

template<unsigned Dim>
void souffle::detail::brie::TrieTypes< Dim >::iterator_core::setIterator ( store_iter  store_iter)
inline

Definition at line 2508 of file Brie.h.

2519  {iter->second->getStore().begin(), nested_entry};

Friends And Related Function Documentation

◆ operator<<

template<unsigned Dim>
std::ostream& operator<< ( std::ostream &  out,
const iterator_core iter 
)
friend

Definition at line 2552 of file Brie.h.

2552  {nullptr};
2553  nested_ctxt nestedCtxt{};
2554 
2555  // for boundaries

Field Documentation

◆ iter

template<unsigned Dim>
store_iter souffle::detail::brie::TrieTypes< Dim >::iterator_core::iter
private

Definition at line 2497 of file Brie.h.

◆ nested

template<unsigned Dim>
nested_core_iter souffle::detail::brie::TrieTypes< Dim >::iterator_core::nested
private

Definition at line 2498 of file Brie.h.


The documentation for this struct was generated from the following file:
souffle::detail::brie::TrieTypes::iterator_core::print
void print(std::ostream &out) const
Definition: Brie.h:2548
souffle::detail::brie::TrieTypes::iterator_core::iterator_core
iterator_core()=default
souffle::detail::brie::tail
auto tail(C &s)
Definition: Brie.h:110
souffle::detail::brie::TrieTypes::iterator_core::operator<<
friend std::ostream & operator<<(std::ostream &out, const iterator_core &iter)
Definition: Brie.h:2552
souffle::detail::brie::TrieTypes::iterator_core::iter
store_iter iter
Definition: Brie.h:2497
souffle::detail::brie::TrieTypes::iterator_core::operator!=
bool operator!=(const iterator_core &other) const
Definition: Brie.h:2543
souffle::detail::brie::TrieTypes::iterator_core::nested
nested_core_iter nested
Definition: Brie.h:2498