Rumba C++ SDK
ConditionalEvalContext.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2024
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 #include "Export.h"
18 #include "Value.h"
19 #include <optional>
20 
21 namespace maquina
22 {
23 
26 {
27 public:
28 
30 
31  bool is_exact() const;
32 
34 
37  std::optional<Value> value(int dep) const;
38 
40  ConditionalEvalContext (const void* plug, bool evaluate_deps, bool exact);
41 private:
42  const void* _plug;
43  bool _evaluate_deps;
44  bool _exact;
45 };
46 
47 inline ConditionalEvalContext::ConditionalEvalContext (const void* plug, bool evaluate_deps, bool exact) :
48  _plug(plug), _evaluate_deps(evaluate_deps), _exact(exact) {}
49 
51 {
52  return _exact;
53 }
54 
55 }
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
Definition: ConditionalEvalContext.h:25
#define MAQUINA_EXPORT
Definition: Export.h:31
bool is_exact() const
Informs the callback if the current plug evaluation is done in exact mode (True) or interactive mode ...
Definition: ConditionalEvalContext.h:50