Om
Public Member Functions | Private Attributes | List of all members
Om::Language::Lexicon::ElementRange Class Reference

A Lexicon Element range. More...

#include "lexicon.hpp"

+ Inheritance diagram for Om::Language::Lexicon::ElementRange:
+ Collaboration diagram for Om::Language::Lexicon::ElementRange:

Public Member Functions

 ElementRange ()
 
 ElementRange (Lexicon const &)
 
virtual bool operator! () const
 
virtual Element const & operator* () const
 
bool Equals (ElementRange const &) const
 
virtual void Pop ()
 Pops the current item. More...
 
- Public Member Functions inherited from Om::Source::DefaultSource< Element const, ElementRange >
virtual ~DefaultSource ()=0
 
ElementRange & operator++ ()
 Pulls the next item from the Source. More...
 
ElementRange operator++ (int)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual bool Equals (Source< Element const > const &) const
 
bool Equals (ElementRange const &) const
 
- Public Member Functions inherited from Om::Source::Source< ThisItem >
virtual ~Source ()=0
 
ThisItem * operator-> () const
 
 operator Boolean () const
 Implements the Safe Boolean idiom. More...
 
virtual bool Equals (Source const &) const =0
 

Private Attributes

PairList::Node const * thisNode
 The current Node, or null if none. More...
 
char thisOffset
 The Element offset in the current Node. More...
 

Additional Inherited Members

- Public Types inherited from Om::Source::Source< ThisItem >
typedef void(Source::* Boolean) () const
 The implementation of the Safe Boolean idiom. More...
 

Detailed Description

Definition at line 187 of file lexicon.hpp.

Constructor & Destructor Documentation

◆ ElementRange() [1/2]

Om::Language::Lexicon::ElementRange::ElementRange ( )

◆ ElementRange() [2/2]

Om::Language::Lexicon::ElementRange::ElementRange ( Lexicon const &  )
explicit

Member Function Documentation

◆ operator!()

virtual bool Om::Language::Lexicon::ElementRange::operator! ( ) const
virtual
Returns
True if empty.

Implements Om::Source::Source< ThisItem >.

◆ operator*()

virtual Element const& Om::Language::Lexicon::ElementRange::operator* ( ) const
virtual

◆ Equals()

bool Om::Language::Lexicon::ElementRange::Equals ( ElementRange const &  ) const

◆ Pop()

virtual void Om::Language::Lexicon::ElementRange::Pop ( )
virtual
Precondition
Not empty.

Implements Om::Source::Source< ThisItem >.

Member Data Documentation

◆ thisNode

PairList::Node const* Om::Language::Lexicon::ElementRange::thisNode
private

Definition at line 218 of file lexicon.hpp.

◆ thisOffset

char Om::Language::Lexicon::ElementRange::thisOffset
private

Definition at line 224 of file lexicon.hpp.


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