cgv
Loading...
Searching...
No Matches
cgv::utils::token Struct Reference

representation of a token in a text by two pointers begin and end, that point to the first character of the token and behind the last character of the token. More...

#include <token.h>

Inheritance diagram for cgv::utils::token:
cgv::ppp::command_token cgv::ppp::expression_token cgv::utils::line cgv::utils::tokenizer cgv::utils::typed_token

Public Member Functions

 token ()
 construct with both pointers set to 0
 
 token (const char *_str)
 construct from c-string
 
 token (const char *_b, const char *_e)
 construct from character range
 
 token (const std::string &s)
 construct from string
 
size_t get_length () const
 return the length of the token in number of characters
 
size_t size () const
 return the length of the token in number of characters
 
bool empty () const
 return whether the token is empty
 
void skip (const std::string &skip_chars)
 set begin by skipping all instances of the given character set
 
void reverse_skip (const std::string &skip_chars)
 set end by skipping all instances of the given character set
 
char operator[] (unsigned int i) const
 return the i-th character of the token
 
bool operator== (const char *s) const
 compare to const char*
 
bool operator== (const std::string &s) const
 compare to string
 
bool operator!= (const char *s) const
 compare to const char*
 
bool operator!= (const std::string &s) const
 compare to string
 

Public Attributes

const char * begin
 pointers that define the range of characters
 
const char * end
 

Detailed Description

representation of a token in a text by two pointers begin and end, that point to the first character of the token and behind the last character of the token.

In this way the two pointers form a range of characters that can be used with stl functions.

Definition at line 17 of file token.h.

Constructor & Destructor Documentation

◆ token() [1/4]

token::token ( )

construct with both pointers set to 0

Definition at line 8 of file token.cxx.

Referenced by cgv::utils::tokenizer::balanced_bite().

◆ token() [2/4]

token::token ( const char *  _str)

construct from c-string

Definition at line 12 of file token.cxx.

◆ token() [3/4]

token::token ( const char *  _b,
const char *  _e 
)

construct from character range

Definition at line 19 of file token.cxx.

◆ token() [4/4]

token::token ( const std::string &  s)

construct from string

Definition at line 23 of file token.cxx.

Member Function Documentation

◆ empty()

bool token::empty ( ) const
inline

◆ get_length()

size_t token::get_length ( ) const
inline

return the length of the token in number of characters

Definition at line 52 of file token.h.

References begin.

Referenced by cgv::utils::operator<<(), and cgv::utils::to_string().

◆ operator!=() [1/2]

bool token::operator!= ( const char *  s) const

compare to const char*

Definition at line 54 of file token.cxx.

References cgv::utils::to_string().

◆ operator!=() [2/2]

bool token::operator!= ( const std::string &  s) const

compare to string

Definition at line 59 of file token.cxx.

References cgv::utils::to_string().

◆ operator==() [1/2]

bool token::operator== ( const char *  s) const

compare to const char*

Definition at line 44 of file token.cxx.

References cgv::utils::to_string().

◆ operator==() [2/2]

bool token::operator== ( const std::string &  s) const

compare to string

Definition at line 49 of file token.cxx.

References cgv::utils::to_string().

◆ operator[]()

char token::operator[] ( unsigned int  i) const
inline

return the i-th character of the token

Definition at line 58 of file token.h.

References begin.

◆ reverse_skip()

void token::reverse_skip ( const std::string &  skip_chars)

set end by skipping all instances of the given character set

Definition at line 38 of file token.cxx.

References begin, and cgv::utils::is_element().

Referenced by cgv::utils::tokenizer::reverse_skip_whitespaces().

◆ size()

size_t token::size ( ) const
inline

return the length of the token in number of characters

Definition at line 54 of file token.h.

References begin.

Referenced by cgv::gui::shortcut::stream_in().

◆ skip()

void token::skip ( const std::string &  skip_chars)

set begin by skipping all instances of the given character set

return the length of the token in number of characters

return the length of the token in number of characters return whether the token is empty set begin by skipping all instances of the given character set

Definition at line 33 of file token.cxx.

References begin, and cgv::utils::is_element().

Referenced by cgv::utils::tokenizer::skip_whitespaces().

Member Data Documentation

◆ begin

◆ end

const char * cgv::utils::token::end

Definition at line 20 of file token.h.


The documentation for this struct was generated from the following files: