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

An Expression Element range. More...

#include "expression.hpp"

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

Public Member Functions

 ElementRange (Expression const &)
 
virtual bool operator! () const
 
virtual Element const & operator* () const
 
bool Equals (ElementRange const &) const
 
void End ()
 
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

FormDeque::const_iterator thisFormIterator
 The FormDeque iterator. More...
 
FormDeque::const_iterator thisFormEnd
 The FormDeque end. More...
 
boost::optional< Form::ElementRangethisFormElementRange
 The Element range for the current Form. 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 218 of file expression.hpp.

Constructor & Destructor Documentation

◆ ElementRange()

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

Member Function Documentation

◆ operator!()

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

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

◆ operator*()

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

◆ Equals()

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

◆ End()

void Om::Language::Expression::ElementRange::End ( )

◆ Pop()

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

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

Member Data Documentation

◆ thisFormIterator

FormDeque::const_iterator Om::Language::Expression::ElementRange::thisFormIterator
private

Definition at line 249 of file expression.hpp.

◆ thisFormEnd

FormDeque::const_iterator Om::Language::Expression::ElementRange::thisFormEnd
private

Definition at line 255 of file expression.hpp.

◆ thisFormElementRange

boost::optional<Form::ElementRange> Om::Language::Expression::ElementRange::thisFormElementRange
private

Definition at line 261 of file expression.hpp.


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