C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
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 23750 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ parser_state()

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

Definition at line 23752 of file exprtk.hpp.

23753 : type_check_enabled(true)
23754 {
23755 reset();
23756 }

References reset(), and type_check_enabled.

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 23771 of file exprtk.hpp.

23775 {
23777 {
23778 side_effect_present = true;
23779
23780 exprtk_debug(("activate_side_effect() - caller: %s\n", source.c_str()));
23781 }
23782 }
#define exprtk_debug(params)
Definition exprtk.hpp:64

References exprtk_debug, and side_effect_present.

◆ reset()

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

Definition at line 23758 of file exprtk.hpp.

23759 {
23760 parsing_return_stmt = false;
23761 parsing_break_stmt = false;
23762 parsing_assert_stmt = false;
23763 return_stmt_present = false;
23764 side_effect_present = false;
23765 scope_depth = 0;
23766 stack_depth = 0;
23768 }
std::size_t parsing_loop_stmt_count
Definition exprtk.hpp:23792

References parsing_assert_stmt, parsing_break_stmt, parsing_loop_stmt_count, parsing_return_stmt, return_stmt_present, scope_depth, side_effect_present, and stack_depth.

Referenced by 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

Definition at line 23786 of file exprtk.hpp.

Referenced by reset().

◆ parsing_break_stmt

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

Definition at line 23785 of file exprtk.hpp.

Referenced by reset().

◆ parsing_loop_stmt_count

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

Definition at line 23792 of file exprtk.hpp.

Referenced by reset().

◆ parsing_return_stmt

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

Definition at line 23784 of file exprtk.hpp.

Referenced by reset().

◆ return_stmt_present

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

Definition at line 23787 of file exprtk.hpp.

Referenced by reset().

◆ scope_depth

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

Definition at line 23790 of file exprtk.hpp.

Referenced by reset().

◆ side_effect_present

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

Definition at line 23788 of file exprtk.hpp.

Referenced by activate_side_effect(), and reset().

◆ stack_depth

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

Definition at line 23791 of file exprtk.hpp.

Referenced by reset().

◆ type_check_enabled

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

Definition at line 23789 of file exprtk.hpp.

Referenced by parser_state().


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