15 #ifndef Om_Language_Reader_
35 thisCodePointSource(theCodePointSource),
43 return *this->thisCodePointSource;
46 inline bool Type_::operator !()
const {
48 !this->thisCodePointSource ||
51 !this->thisIsEncoded &&
57 inline bool Type_::Equals(Reader
const & theReader)
const {
59 this->thisCodePointSource != theReader.thisCodePointSource ||
60 this->thisDepth == theReader.thisDepth
62 return this->thisCodePointSource == theReader.thisCodePointSource;
65 inline void Type_::Pop() {
66 assert(this->thisCodePointSource);
67 switch (*this->thisCodePointSource) {
69 if (this->thisIsEncoded) {
70 this->thisIsEncoded =
false;
73 static_cast<size_t>(-1) == this->thisDepth
75 throw std::overflow_error(
"Operand overflow.");
81 if (this->thisIsEncoded) {
82 this->thisIsEncoded =
false;
84 assert(this->thisDepth);
89 this->thisIsEncoded = !this->thisIsEncoded;
92 this->thisIsEncoded =
false;
95 this->thisCodePointSource.Pop();
101 Type_
const & theFirst,
102 Type_
const & theSecond
104 return theFirst.Equals(theSecond);
108 Type_
const & theFirst,
109 Type_
const & theSecond
111 return !theFirst.Equals(theSecond);
Any object that items can be pulled from.
@ theEncodeOperatorSymbol
bool operator!=(DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)
bool operator==(DefaultAtom< TheImplementation > const &, DefaultAtom< TheImplementation > const &)
boost::locale::utf::code_point CodePoint
A UTF-8 code point.