Om
Public Member Functions | Private Attributes | List of all members
Om::Source::CodePointSource< ThisCodeUnitIterator > Class Template Reference

A CodePoint Source that reads each code unit from the iterator. More...

#include "code_point_source.hpp"

+ Inheritance diagram for Om::Source::CodePointSource< ThisCodeUnitIterator >:
+ Collaboration diagram for Om::Source::CodePointSource< ThisCodeUnitIterator >:

Public Member Functions

 CodePointSource (ThisCodeUnitIterator theInputStart, ThisCodeUnitIterator const theInputEnd)
 
CodePointSourceoperator= (CodePointSource)
 
virtual bool operator! () const
 
virtual CodePoint const & operator* () const
 
bool Equals (CodePointSource const &) const
 
virtual void Pop ()
 Pops the current item. More...
 
void Swap (CodePointSource &)
 
- Public Member Functions inherited from Om::Source::DefaultSource< CodePoint const, CodePointSource< char const * > >
virtual ~DefaultSource ()=0
 
CodePointSource< char const * > & operator++ ()
 Pulls the next item from the Source. More...
 
CodePointSource< char const * > 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< CodePoint const > const &) const
 
bool Equals (CodePointSource< char const * > const &) const
 
- Public Member Functions inherited from Om::Source::Source< CodePoint const >
virtual ~Source ()=0
 
CodePoint const * operator-> () const
 
 operator Boolean () const
 Implements the Safe Boolean idiom. More...
 
virtual bool Equals (Source const &) const=0
 

Private Attributes

ThisCodeUnitIterator thisInputIterator
 The input code unit start iterator. More...
 
ThisCodeUnitIterator thisInputEnd
 The input code unit end iterator. More...
 
CodePoint thisCodePoint
 The current Om::CodePoint. More...
 

Additional Inherited Members

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

Detailed Description

template<typename ThisCodeUnitIterator = char const *>
class Om::Source::CodePointSource< ThisCodeUnitIterator >

Definition at line 34 of file code_point_source.hpp.

Constructor & Destructor Documentation

◆ CodePointSource()

template<typename ThisCodeUnitIterator = char const *>
Om::Source::CodePointSource< ThisCodeUnitIterator >::CodePointSource ( ThisCodeUnitIterator  theInputStart,
ThisCodeUnitIterator const  theInputEnd 
)
Parameters
theInputStartThe input code unit start iterator.
theInputEndThe input code unit end iterator.

Member Function Documentation

◆ operator=()

template<typename ThisCodeUnitIterator = char const *>
CodePointSource& Om::Source::CodePointSource< ThisCodeUnitIterator >::operator= ( CodePointSource< ThisCodeUnitIterator >  )

◆ operator!()

template<typename ThisCodeUnitIterator = char const *>
virtual bool Om::Source::CodePointSource< ThisCodeUnitIterator >::operator! ( ) const
virtual
Returns
True if empty.

Implements Om::Source::Source< CodePoint const >.

◆ operator*()

template<typename ThisCodeUnitIterator = char const *>
virtual CodePoint const& Om::Source::CodePointSource< ThisCodeUnitIterator >::operator* ( ) const
virtual

◆ Equals()

template<typename ThisCodeUnitIterator = char const *>
bool Om::Source::CodePointSource< ThisCodeUnitIterator >::Equals ( CodePointSource< ThisCodeUnitIterator > const &  ) const

◆ Pop()

template<typename ThisCodeUnitIterator = char const *>
virtual void Om::Source::CodePointSource< ThisCodeUnitIterator >::Pop ( )
virtual
Precondition
Not empty.

Implements Om::Source::Source< CodePoint const >.

◆ Swap()

template<typename ThisCodeUnitIterator = char const *>
void Om::Source::CodePointSource< ThisCodeUnitIterator >::Swap ( CodePointSource< ThisCodeUnitIterator > &  )

Member Data Documentation

◆ thisInputIterator

template<typename ThisCodeUnitIterator = char const *>
ThisCodeUnitIterator Om::Source::CodePointSource< ThisCodeUnitIterator >::thisInputIterator
private

Definition at line 76 of file code_point_source.hpp.

◆ thisInputEnd

template<typename ThisCodeUnitIterator = char const *>
ThisCodeUnitIterator Om::Source::CodePointSource< ThisCodeUnitIterator >::thisInputEnd
private

Definition at line 82 of file code_point_source.hpp.

◆ thisCodePoint

template<typename ThisCodeUnitIterator = char const *>
CodePoint Om::Source::CodePointSource< ThisCodeUnitIterator >::thisCodePoint
private

Definition at line 88 of file code_point_source.hpp.


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