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

7360 : iteration_count_(0)
7361 , loop_runtime_check_(loop_runtime_check)
7364 {
7366 }
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:598
const details::_uint64_t & max_loop_iterations_
Definition exprtk.hpp:7401
loop_runtime_check::loop_types loop_type_
Definition exprtk.hpp:7402
loop_runtime_check_ptr loop_runtime_check_
Definition exprtk.hpp:7400
details::_uint64_t max_loop_iterations
Definition exprtk.hpp:2145

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

7374 {
7376
7377 if (
7380 )
7381 {
7382 return true;
7383 }
7384
7385 loop_runtime_check::violation_context ctxt;
7386 ctxt.loop = loop_type_;
7388
7390
7391 return false;
7392 }
virtual void handle_runtime_violation(const violation_context &)
Definition exprtk.hpp:2159

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

7369 {
7371 }

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

7395 {
7396 return 0 != loop_runtime_check_;
7397 }

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 7399 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 7400 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 7402 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 7401 of file exprtk.hpp.

Referenced by check().


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