C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
exprtk::parser< T >::stack_limit_handler Class Reference
Collaboration diagram for exprtk::parser< T >::stack_limit_handler:
[legend]

Public Types

typedef parser< T > parser_t
 

Public Member Functions

 stack_limit_handler (parser< T > &p)
 
 ~stack_limit_handler ()
 
bool operator! ()
 

Private Member Functions

 stack_limit_handler (const stack_limit_handler &)
 
stack_limit_handleroperator= (const stack_limit_handler &)
 

Private Attributes

parser_tparser_
 
bool limit_exceeded_
 

Detailed Description

template<typename T>
class exprtk::parser< T >::stack_limit_handler

Definition at line 22779 of file exprtk.hpp.

Member Typedef Documentation

◆ parser_t

template<typename T >
typedef parser<T> exprtk::parser< T >::stack_limit_handler::parser_t

Definition at line 22783 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ stack_limit_handler() [1/2]

template<typename T >
exprtk::parser< T >::stack_limit_handler::stack_limit_handler ( parser< T > &  p)
inlineexplicit

Definition at line 22785 of file exprtk.hpp.

22786 : parser_(p)
22787 , limit_exceeded_(false)
22788 {
22790 {
22791 limit_exceeded_ = true;
22794 "ERR000 - Current stack depth " + details::to_str(parser_.state_.stack_depth) +
22795 " exceeds maximum allowed stack depth of " + details::to_str(parser_.settings_.max_stack_depth_),
22797 }
22798 }
settings_store settings_
Definition exprtk.hpp:41614
parser_state state_
Definition exprtk.hpp:41621
void set_error(const parser_error::type &error_type)
Definition exprtk.hpp:41330
#define exprtk_error_location
Definition exprtk.hpp:67
std::string to_str(int i)
Definition exprtk.hpp:277
type make_error(const error_mode mode, const std::string &diagnostic="", const std::string &src_location="")
Definition exprtk.hpp:22071

References exprtk::parser_error::e_parser, exprtk_error_location, exprtk::parser< T >::stack_limit_handler::limit_exceeded_, exprtk::parser< T >::settings_store::max_stack_depth_, exprtk::parser< T >::stack_limit_handler::parser_, exprtk::parser< T >::set_error(), exprtk::parser< T >::settings_, exprtk::parser< T >::parser_state::stack_depth, exprtk::parser< T >::state_, and exprtk::details::to_str().

Here is the call graph for this function:

◆ ~stack_limit_handler()

template<typename T >
exprtk::parser< T >::stack_limit_handler::~stack_limit_handler ( )
inline

◆ stack_limit_handler() [2/2]

template<typename T >
exprtk::parser< T >::stack_limit_handler::stack_limit_handler ( const stack_limit_handler )
private

Member Function Documentation

◆ operator!()

template<typename T >
bool exprtk::parser< T >::stack_limit_handler::operator! ( )
inline

Definition at line 22806 of file exprtk.hpp.

22807 {
22808 return limit_exceeded_;
22809 }

References exprtk::parser< T >::stack_limit_handler::limit_exceeded_.

◆ operator=()

template<typename T >
stack_limit_handler & exprtk::parser< T >::stack_limit_handler::operator= ( const stack_limit_handler )
private

Member Data Documentation

◆ limit_exceeded_

template<typename T >
bool exprtk::parser< T >::stack_limit_handler::limit_exceeded_
private

◆ parser_

template<typename T >
parser_t& exprtk::parser< T >::stack_limit_handler::parser_
private

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