GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
exprtk::lexer::generator Class Reference

#include <Exprtk.hpp>

Public Types

typedef token token_t
 
typedef std::vector< token_ttoken_list_t
 
typedef token_list_t::iterator token_list_itr_t
 
typedef details::char_t char_t
 

Public Member Functions

 generator ()
 
void clear ()
 
bool process (const std::string &str)
 
bool empty () const
 
std::size_t size () const
 
void begin ()
 
void store ()
 
void restore ()
 
token_tnext_token ()
 
token_tpeek_next_token ()
 
token_toperator[] (const std::size_t &index)
 
token_t operator[] (const std::size_t &index) const
 
bool finished () const
 
void insert_front (token_t::token_type tk_type)
 
std::string substr (const std::size_t &begin, const std::size_t &end) const
 
std::string remaining () const
 

Private Member Functions

bool is_end (details::char_cptr itr) const
 
bool is_comment_start (details::char_cptr itr) const
 
void skip_whitespace ()
 
void skip_comments ()
 
void scan_token ()
 
void scan_operator ()
 
void scan_symbol ()
 
void scan_number ()
 
void scan_special_function ()
 
void scan_string ()
 

Private Attributes

token_list_t token_list_
 
token_list_itr_t token_itr_
 
token_list_itr_t store_token_itr_
 
token_t eof_token_
 
details::char_cptr base_itr_
 
details::char_cptr s_itr_
 
details::char_cptr s_end_
 

Friends

class token_scanner
 
class token_modifier
 
class token_inserter
 
class token_joiner
 

Member Typedef Documentation

◆ char_t

◆ token_list_itr_t

typedef token_list_t::iterator exprtk::lexer::generator::token_list_itr_t

◆ token_list_t

◆ token_t

Constructor & Destructor Documentation

◆ generator()

exprtk::lexer::generator::generator ( )
inline

Member Function Documentation

◆ begin()

void exprtk::lexer::generator::begin ( )
inline

◆ clear()

void exprtk::lexer::generator::clear ( )
inline

◆ empty()

bool exprtk::lexer::generator::empty ( ) const
inline

◆ finished()

bool exprtk::lexer::generator::finished ( ) const
inline

◆ insert_front()

void exprtk::lexer::generator::insert_front ( token_t::token_type  tk_type)
inline

◆ is_comment_start()

bool exprtk::lexer::generator::is_comment_start ( details::char_cptr  itr) const
inlineprivate

◆ is_end()

bool exprtk::lexer::generator::is_end ( details::char_cptr  itr) const
inlineprivate

◆ next_token()

token_t& exprtk::lexer::generator::next_token ( )
inline

◆ operator[]() [1/2]

token_t& exprtk::lexer::generator::operator[] ( const std::size_t &  index)
inline

◆ operator[]() [2/2]

token_t exprtk::lexer::generator::operator[] ( const std::size_t &  index) const
inline

◆ peek_next_token()

token_t& exprtk::lexer::generator::peek_next_token ( )
inline

◆ process()

bool exprtk::lexer::generator::process ( const std::string &  str)
inline

◆ remaining()

std::string exprtk::lexer::generator::remaining ( ) const
inline

◆ restore()

void exprtk::lexer::generator::restore ( )
inline

◆ scan_number()

void exprtk::lexer::generator::scan_number ( )
inlineprivate

◆ scan_operator()

void exprtk::lexer::generator::scan_operator ( )
inlineprivate

◆ scan_special_function()

void exprtk::lexer::generator::scan_special_function ( )
inlineprivate

◆ scan_string()

void exprtk::lexer::generator::scan_string ( )
inlineprivate

◆ scan_symbol()

void exprtk::lexer::generator::scan_symbol ( )
inlineprivate

◆ scan_token()

void exprtk::lexer::generator::scan_token ( )
inlineprivate

◆ size()

std::size_t exprtk::lexer::generator::size ( ) const
inline

◆ skip_comments()

void exprtk::lexer::generator::skip_comments ( )
inlineprivate

◆ skip_whitespace()

void exprtk::lexer::generator::skip_whitespace ( )
inlineprivate

◆ store()

void exprtk::lexer::generator::store ( )
inline

◆ substr()

std::string exprtk::lexer::generator::substr ( const std::size_t &  begin,
const std::size_t &  end 
) const
inline

Friends And Related Function Documentation

◆ token_inserter

friend class token_inserter
friend

◆ token_joiner

friend class token_joiner
friend

◆ token_modifier

friend class token_modifier
friend

◆ token_scanner

friend class token_scanner
friend

Member Data Documentation

◆ base_itr_

details::char_cptr exprtk::lexer::generator::base_itr_
private

◆ eof_token_

token_t exprtk::lexer::generator::eof_token_
private

◆ s_end_

details::char_cptr exprtk::lexer::generator::s_end_
private

◆ s_itr_

details::char_cptr exprtk::lexer::generator::s_itr_
private

◆ store_token_itr_

token_list_itr_t exprtk::lexer::generator::store_token_itr_
private

◆ token_itr_

token_list_itr_t exprtk::lexer::generator::token_itr_
private

◆ token_list_

token_list_t exprtk::lexer::generator::token_list_
private

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