C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
exprtk::parser< T >::parser_state Struct Reference

Public Member Functions

 parser_state ()
 
void reset ()
 
void activate_side_effect (const std::string &)
 

Public Attributes

bool parsing_return_stmt
 
bool parsing_break_stmt
 
bool parsing_assert_stmt
 
bool return_stmt_present
 
bool side_effect_present
 
bool type_check_enabled
 
std::size_t scope_depth
 
std::size_t stack_depth
 
std::size_t parsing_loop_stmt_count
 

Detailed Description

template<typename T>
struct exprtk::parser< T >::parser_state

Definition at line 23379 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ parser_state()

template<typename T >
exprtk::parser< T >::parser_state::parser_state ( )
inline

Definition at line 23381 of file exprtk.hpp.

23382 : type_check_enabled(true)
23383 {
23384 reset();
23385 }

References exprtk::parser< T >::parser_state::reset().

Here is the call graph for this function:

Member Function Documentation

◆ activate_side_effect()

template<typename T >
void exprtk::parser< T >::parser_state::activate_side_effect ( const std::string &  )
inline

Definition at line 23400 of file exprtk.hpp.

23404 {
23406 {
23407 side_effect_present = true;
23408
23409 exprtk_debug(("activate_side_effect() - caller: %s\n", source.c_str()));
23410 }
23411 }
#define exprtk_debug(params)
Definition exprtk.hpp:64

References exprtk_debug, and exprtk::parser< T >::parser_state::side_effect_present.

Referenced by exprtk::parser< T >::expression_generator< Type >::assert_call(), exprtk::parser< T >::expression_generator< Type >::generic_function_call(), exprtk::parser< T >::expression_generator< Type >::lodge_assignment(), exprtk::parser< T >::parse_break_statement(), exprtk::parser< T >::parse_continue_statement(), exprtk::parser< T >::parse_define_constvar_statement(), exprtk::parser< T >::parse_define_string_statement(), exprtk::parser< T >::parse_define_var_statement(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_for_loop(), exprtk::parser< T >::parse_return_statement(), exprtk::parser< T >::parse_swap_statement(), exprtk::parser< T >::parse_uninitialised_var_statement(), exprtk::parser< T >::expression_generator< Type >::return_call(), exprtk::parser< T >::simplify(), exprtk::parser< T >::expression_generator< Type >::string_function_call(), exprtk::parser< T >::expression_generator< Type >::synthesize_expression(), exprtk::parser< T >::expression_generator< Type >::synthesize_swap_expression(), exprtk::parser< T >::expression_generator< Type >::vararg_function_call(), and exprtk::parser< T >::expression_generator< Type >::vector_element().

Here is the caller graph for this function:

◆ reset()

template<typename T >
void exprtk::parser< T >::parser_state::reset ( )
inline

Definition at line 23387 of file exprtk.hpp.

23388 {
23389 parsing_return_stmt = false;
23390 parsing_break_stmt = false;
23391 parsing_assert_stmt = false;
23392 return_stmt_present = false;
23393 side_effect_present = false;
23394 scope_depth = 0;
23395 stack_depth = 0;
23397 }
std::size_t parsing_loop_stmt_count
Definition exprtk.hpp:23421

References exprtk::parser< T >::parser_state::parsing_assert_stmt, exprtk::parser< T >::parser_state::parsing_break_stmt, exprtk::parser< T >::parser_state::parsing_loop_stmt_count, exprtk::parser< T >::parser_state::parsing_return_stmt, exprtk::parser< T >::parser_state::return_stmt_present, exprtk::parser< T >::parser_state::scope_depth, exprtk::parser< T >::parser_state::side_effect_present, and exprtk::parser< T >::parser_state::stack_depth.

Referenced by exprtk::parser< T >::compile(), and exprtk::parser< T >::parser_state::parser_state().

Here is the caller graph for this function:

Member Data Documentation

◆ parsing_assert_stmt

template<typename T >
bool exprtk::parser< T >::parser_state::parsing_assert_stmt

◆ parsing_break_stmt

template<typename T >
bool exprtk::parser< T >::parser_state::parsing_break_stmt

◆ parsing_loop_stmt_count

template<typename T >
std::size_t exprtk::parser< T >::parser_state::parsing_loop_stmt_count

◆ parsing_return_stmt

template<typename T >
bool exprtk::parser< T >::parser_state::parsing_return_stmt

◆ return_stmt_present

template<typename T >
bool exprtk::parser< T >::parser_state::return_stmt_present

◆ scope_depth

template<typename T >
std::size_t exprtk::parser< T >::parser_state::scope_depth

◆ side_effect_present

template<typename T >
bool exprtk::parser< T >::parser_state::side_effect_present

◆ stack_depth

template<typename T >
std::size_t exprtk::parser< T >::parser_state::stack_depth

◆ type_check_enabled

template<typename T >
bool exprtk::parser< T >::parser_state::type_check_enabled

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