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

Public Types

using time_point_t = std::chrono::time_point< std::chrono::steady_clock >
 

Public Member Functions

bool continue_compilation (compilation_context &context) override
 
void set_timeout_time (const time_point_t &timeout_tp)
 
- Public Member Functions inherited from exprtk::compilation_check
virtual ~compilation_check ()
 

Public Attributes

std::size_t iterations_ = max_iters_per_check
 
time_point_t timeout_tp_
 

Static Public Attributes

static constexpr std::size_t max_iters_per_check = 10000
 

Detailed Description

Definition at line 27 of file exprtk_compilation_timeout.cpp.

Member Typedef Documentation

◆ time_point_t

using compilation_timeout_check::time_point_t = std::chrono::time_point<std::chrono::steady_clock>

Definition at line 47 of file exprtk_compilation_timeout.cpp.

Member Function Documentation

◆ continue_compilation()

bool compilation_timeout_check::continue_compilation ( compilation_context context)
inlineoverridevirtual

Implements exprtk::compilation_check.

Definition at line 31 of file exprtk_compilation_timeout.cpp.

32 {
34 {
35 if (std::chrono::steady_clock::now() >= timeout_tp_)
36 {
37 context.error_message = "Compilation has timed-out";
38 return false;
39 }
40
41 iterations_ = 0;
42 }
43
44 return true;
45 }
static constexpr std::size_t max_iters_per_check

References exprtk::compilation_check::compilation_context::error_message, iterations_, max_iters_per_check, and timeout_tp_.

◆ set_timeout_time()

void compilation_timeout_check::set_timeout_time ( const time_point_t timeout_tp)
inline

Definition at line 49 of file exprtk_compilation_timeout.cpp.

50 {
51 timeout_tp_ = timeout_tp;
52 }

References timeout_tp_.

Referenced by compilation_timeout_check_example().

Here is the caller graph for this function:

Member Data Documentation

◆ iterations_

std::size_t compilation_timeout_check::iterations_ = max_iters_per_check

Definition at line 54 of file exprtk_compilation_timeout.cpp.

Referenced by continue_compilation().

◆ max_iters_per_check

constexpr std::size_t compilation_timeout_check::max_iters_per_check = 10000
staticconstexpr

Definition at line 29 of file exprtk_compilation_timeout.cpp.

Referenced by continue_compilation().

◆ timeout_tp_

time_point_t compilation_timeout_check::timeout_tp_

Definition at line 55 of file exprtk_compilation_timeout.cpp.

Referenced by continue_compilation(), and set_timeout_time().


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