C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
exprtk::details::loop_runtime_checker Struct Reference

#include <exprtk.hpp>

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_t & max_loop_iterations_
loop_runtime_check::loop_types loop_type_

Detailed Description

Definition at line 7544 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

Member Function Documentation

◆ check()

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

Definition at line 7561 of file exprtk.hpp.

7562 {
7563 assert(loop_runtime_check_);
7564
7565 if (
7567 loop_runtime_check_->check()
7568 )
7569 {
7570 return true;
7571 }
7572
7573 loop_runtime_check::violation_context ctxt;
7574 ctxt.loop = loop_type_;
7576 ctxt.iteration_count = iteration_count_;
7577
7578 loop_runtime_check_->handle_runtime_violation(ctxt);
7579
7580 return false;
7581 }

References exprtk::loop_runtime_check::e_iteration_count, exprtk::loop_runtime_check::violation_context::iteration_count, iteration_count_, exprtk::loop_runtime_check::violation_context::loop, loop_runtime_check_, loop_type_, max_loop_iterations_, and exprtk::loop_runtime_check::violation_context::violation.

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

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

7557 {
7558 iteration_count_ = initial_value;
7559 }

References iteration_count_.

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

Here is the caller graph for this function:

◆ valid()

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

Definition at line 7583 of file exprtk.hpp.

7584 {
7585 return 0 != loop_runtime_check_;
7586 }

References loop_runtime_check_.

Referenced by exprtk::details::for_loop_bc_rtc_node< T >::valid(), exprtk::details::for_loop_rtc_node< T >::valid(), exprtk::details::repeat_until_loop_bc_rtc_node< T >::valid(), exprtk::details::repeat_until_loop_rtc_node< T >::valid(), exprtk::details::while_loop_bc_rtc_node< T >::valid(), and exprtk::details::while_loop_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 7588 of file exprtk.hpp.

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

◆ loop_runtime_check_

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

Definition at line 7589 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 7591 of file exprtk.hpp.

Referenced by check(), and loop_runtime_checker().

◆ max_loop_iterations_

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

Definition at line 7590 of file exprtk.hpp.

Referenced by check(), and loop_runtime_checker().


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