C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
exprtk::details::loop_runtime_checker Struct Reference
Inheritance diagram for exprtk::details::loop_runtime_checker:
[legend]
Collaboration diagram for exprtk::details::loop_runtime_checker:
[legend]

Public Member Functions

 loop_runtime_checker (loop_runtime_check_ptr loop_runtime_check, loop_runtime_check::loop_types lp_typ=loop_runtime_check::e_invalid)
 
void reset (const _uint64_t initial_value=0) const
 
bool check () const
 
bool valid () const
 

Public Attributes

_uint64_t iteration_count_
 
loop_runtime_check_ptr loop_runtime_check_
 
const details::_uint64_tmax_loop_iterations_
 
loop_runtime_check::loop_types loop_type_
 

Detailed Description

Definition at line 7523 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ loop_runtime_checker()

exprtk::details::loop_runtime_checker::loop_runtime_checker ( loop_runtime_check_ptr  loop_runtime_check,
loop_runtime_check::loop_types  lp_typ = loop_runtime_check::e_invalid 
)
inline

Definition at line 7525 of file exprtk.hpp.

7527 : iteration_count_(0)
7528 , loop_runtime_check_(loop_runtime_check)
7531 {
7533 }
bool match_impl(const Iterator pattern_begin, const Iterator pattern_end, const Iterator data_begin, const Iterator data_end, const typename std::iterator_traits< Iterator >::value_type &zero_or_more, const typename std::iterator_traits< Iterator >::value_type &exactly_one)
Definition exprtk.hpp:605
const details::_uint64_t & max_loop_iterations_
Definition exprtk.hpp:7568
loop_runtime_check::loop_types loop_type_
Definition exprtk.hpp:7569
loop_runtime_check_ptr loop_runtime_check_
Definition exprtk.hpp:7567
details::_uint64_t max_loop_iterations
Definition exprtk.hpp:2187

References loop_runtime_check_, and exprtk::details::match_impl().

Here is the call graph for this function:

Member Function Documentation

◆ check()

bool exprtk::details::loop_runtime_checker::check ( ) const
inline

Definition at line 7540 of file exprtk.hpp.

7541 {
7543
7544 if (
7547 )
7548 {
7549 return true;
7550 }
7551
7552 loop_runtime_check::violation_context ctxt;
7553 ctxt.loop = loop_type_;
7555
7557
7558 return false;
7559 }
virtual void handle_runtime_violation(const violation_context &)
Definition exprtk.hpp:2201

References exprtk::loop_runtime_check::check(), exprtk::loop_runtime_check::e_iteration_count, exprtk::loop_runtime_check::handle_runtime_violation(), iteration_count_, exprtk::loop_runtime_check::violation_context::loop, loop_runtime_check_, loop_type_, exprtk::details::match_impl(), and max_loop_iterations_.

Referenced by exprtk::details::while_loop_rtc_node< T >::value(), exprtk::details::repeat_until_loop_rtc_node< T >::value(), exprtk::details::for_loop_rtc_node< T >::value(), exprtk::details::while_loop_bc_rtc_node< T >::value(), exprtk::details::repeat_until_loop_bc_rtc_node< T >::value(), and exprtk::details::for_loop_bc_rtc_node< T >::value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

void exprtk::details::loop_runtime_checker::reset ( const _uint64_t  initial_value = 0) const
inline

Definition at line 7535 of file exprtk.hpp.

7536 {
7538 }

References iteration_count_, and exprtk::details::match_impl().

Referenced by exprtk::details::while_loop_rtc_node< T >::value(), exprtk::details::repeat_until_loop_rtc_node< T >::value(), exprtk::details::for_loop_rtc_node< T >::value(), exprtk::details::while_loop_bc_rtc_node< T >::value(), exprtk::details::repeat_until_loop_bc_rtc_node< T >::value(), and exprtk::details::for_loop_bc_rtc_node< T >::value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ valid()

bool exprtk::details::loop_runtime_checker::valid ( ) const
inline

Definition at line 7561 of file exprtk.hpp.

7562 {
7563 return 0 != loop_runtime_check_;
7564 }

References loop_runtime_check_.

Referenced by exprtk::details::while_loop_rtc_node< T >::valid(), exprtk::details::repeat_until_loop_rtc_node< T >::valid(), exprtk::details::for_loop_rtc_node< T >::valid(), exprtk::details::while_loop_bc_rtc_node< T >::valid(), exprtk::details::repeat_until_loop_bc_rtc_node< T >::valid(), and exprtk::details::for_loop_bc_rtc_node< T >::valid().

Here is the caller graph for this function:

Member Data Documentation

◆ iteration_count_

_uint64_t exprtk::details::loop_runtime_checker::iteration_count_
mutable

Definition at line 7566 of file exprtk.hpp.

Referenced by check(), and reset().

◆ loop_runtime_check_

loop_runtime_check_ptr exprtk::details::loop_runtime_checker::loop_runtime_check_
mutable

Definition at line 7567 of file exprtk.hpp.

Referenced by check(), loop_runtime_checker(), and valid().

◆ loop_type_

loop_runtime_check::loop_types exprtk::details::loop_runtime_checker::loop_type_

Definition at line 7569 of file exprtk.hpp.

Referenced by check().

◆ max_loop_iterations_

const details::_uint64_t& exprtk::details::loop_runtime_checker::max_loop_iterations_

Definition at line 7568 of file exprtk.hpp.

Referenced by check().


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