28 #include <type_traits>
32 template<
typename T,
REQUIRES(
"T must be a Token class", std::is_convertible<T*, const Token*> )>
ConstTokenRange(const Token *front, const Token *back)
TokenIterator end() const
TokenRangeBase(T *front, T *back)
TokenIterator begin() const
TokenRange(Token *front, Token *back)
The token list that the TokenList generates is a linked-list of this class.
#define REQUIRES(msg,...)
TokenIterator & operator++()
bool operator!=(const TokenIterator &b) const
std::ptrdiff_t difference_type
bool operator==(const TokenIterator &b) const
std::forward_iterator_tag iterator_category