souffle  2.0.2-371-g6315b36
Public Member Functions | Private Attributes
souffle::SingleValueIterator< T > Class Template Reference

An iterator to be utilized if there is only a single element to iterate over. More...

#include <ContainerUtil.h>

Inheritance diagram for souffle::SingleValueIterator< T >:
Inheritance graph
Collaboration diagram for souffle::SingleValueIterator< T >:
Collaboration graph

Public Member Functions

bool operator!= (const SingleValueIterator &other) const
 
const T & operator* () const
 
SingleValueIteratoroperator++ ()
 
const T * operator-> () const
 
SingleValueIteratoroperator= (const SingleValueIterator &other)=default
 
bool operator== (const SingleValueIterator &other) const
 
 SingleValueIterator ()=default
 
 SingleValueIterator (const SingleValueIterator &other)=default
 
 SingleValueIterator (const T &value)
 

Private Attributes

bool end = true
 
value
 

Detailed Description

template<typename T>
class souffle::SingleValueIterator< T >

An iterator to be utilized if there is only a single element to iterate over.

Definition at line 260 of file ContainerUtil.h.

Constructor & Destructor Documentation

◆ SingleValueIterator() [1/3]

template<typename T >
souffle::SingleValueIterator< T >::SingleValueIterator ( )
default

◆ SingleValueIterator() [2/3]

template<typename T >
souffle::SingleValueIterator< T >::SingleValueIterator ( const T &  value)
inline

Definition at line 268 of file ContainerUtil.h.

271 {

References souffle::SingleValueIterator< T >::end.

◆ SingleValueIterator() [3/3]

template<typename T >
souffle::SingleValueIterator< T >::SingleValueIterator ( const SingleValueIterator< T > &  other)
default

Member Function Documentation

◆ operator!=()

template<typename T >
bool souffle::SingleValueIterator< T >::operator!= ( const SingleValueIterator< T > &  other) const
inline

Definition at line 283 of file ContainerUtil.h.

287  {

◆ operator*()

template<typename T >
const T& souffle::SingleValueIterator< T >::operator* ( ) const
inline

Definition at line 288 of file ContainerUtil.h.

292  {

◆ operator++()

template<typename T >
SingleValueIterator& souffle::SingleValueIterator< T >::operator++ ( )
inline

Definition at line 298 of file ContainerUtil.h.

307  {

References souffle::range< Iter >::a, souffle::range< Iter >::b, and souffle::range< Iter >::range().

Here is the call graph for this function:

◆ operator->()

template<typename T >
const T* souffle::SingleValueIterator< T >::operator-> ( ) const
inline

Definition at line 293 of file ContainerUtil.h.

307  {

◆ operator=()

template<typename T >
SingleValueIterator& souffle::SingleValueIterator< T >::operator= ( const SingleValueIterator< T > &  other)
default

◆ operator==()

template<typename T >
bool souffle::SingleValueIterator< T >::operator== ( const SingleValueIterator< T > &  other) const
inline

Definition at line 277 of file ContainerUtil.h.

277  {
278  return !(*this == other);
279  }
280 

Field Documentation

◆ end

template<typename T >
bool souffle::SingleValueIterator< T >::end = true
private

◆ value

template<typename T >
T souffle::SingleValueIterator< T >::value
private

Definition at line 261 of file ContainerUtil.h.

Referenced by souffle::derefIter().


The documentation for this class was generated from the following file: