76 while(
mIt !=
mItEnd && !TokenOfInterestFunctor::isOfInterest(*
mIt)) {
114 while(!
empty() && !TokenOfInterestFunctor::isOfInterest(
front())) {
121 while(!
empty() && !TokenOfInterestFunctor::isOfInterest(
back())) {
132 template<
typename TokenType,
typename TokenOfInterestFunctor>
155 return (
lhsIt.reachedEnd() &&
rhsIt.reachedEnd());
158 template<
typename TokenType,
typename TokenOfInterestFunctor>
160 return !(lhs == rhs);
163 template<
typename TokenType,
typename TokenOfInterestFunctor>
166 lhs <<
token->getSpelling();
Definition TokenString.hpp:32
bool reachedEnd() const
Definition TokenString.hpp:57
ValueType accept(const Token::Types type)
Definition TokenString.hpp:64
ConstIterator & operator=(const ConstIterator &)=default
ConstIterator & operator++()
Definition TokenString.hpp:43
ConstIterator(const typename Container::const_iterator &it, const typename Container::const_iterator &itEnd)
Definition TokenString.hpp:39
void nextTokenOfInterest()
Definition TokenString.hpp:75
const ValueType & operator*()
Definition TokenString.hpp:70
ValueType acceptIt()
Definition TokenString.hpp:59
Container::const_iterator mIt
Definition TokenString.hpp:81
Container::const_iterator mItEnd
Definition TokenString.hpp:81
ConstIterator(const ConstIterator &)=default
ConstIterator operator++(int)
Definition TokenString.hpp:51
Container::const_iterator operator->()
Definition TokenString.hpp:72
Token string template class.
Definition TokenString.hpp:27
void trimBack()
Definition TokenString.hpp:120
void popFront()
Definition TokenString.hpp:98
Container & getTokens()
Definition TokenString.hpp:110
ConstIterator begin() const
Definition TokenString.hpp:90
const ValueType & back() const
Definition TokenString.hpp:104
BasicTokenString(const BasicTokenString &)=default
TokenType ValueType
Definition TokenString.hpp:29
void pushBack(const TokenType &token)
Definition TokenString.hpp:94
const ValueType & front() const
Definition TokenString.hpp:102
const Container & getTokens() const
Definition TokenString.hpp:108
ConstIterator end() const
Definition TokenString.hpp:92
bool empty() const
Definition TokenString.hpp:106
BasicTokenString & operator=(const BasicTokenString &)=default
void trimFront()
Definition TokenString.hpp:113
BasicTokenString()=default
BasicTokenString(const TokenType &token)
Definition TokenString.hpp:88
void popBack()
Definition TokenString.hpp:100
Vector< TokenType > Container
Definition TokenString.hpp:30
Container mTokens
Definition TokenString.hpp:127
void pushBack(const BasicTokenString &tokenString)
Definition TokenString.hpp:96
Types
Definition Token.hpp:24
std::ostream & operator<<(std::ostream &lhs, const BasicTokenString< TokenType, TokenOfInterestFunctor > &rhs)
Definition TokenString.hpp:164
bool operator!=(const Identifier &lhs, const Identifier &rhs)
Definition Identifier.hpp:64
void assertCurrentTokenType(const Token::Types type, const Token::Types expectedType)
bool operator==(const Identifier &lhs, const Identifier &rhs)
Definition Identifier.hpp:60
SPtr< Token > TokenPtr
Definition Token.hpp:174
void assertReachedEnd(bool reachedEnd)
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition TokenString.hpp:171
static bool isOfInterest(const TokenPtr &token)