ClikaRT::spec::SymBool
class
Header: ClikaRT/compute/symbolic.h
A symbolic-or-concrete boolean, the result of comparing symbolic values (e.g. a.lt(b)). Logical composition (and/or/not) is not yet available.
Member functions
SymBool(bool)
SymBool(bool concrete)
A concrete boolean: no symbolic node, no heap.
Declared in ClikaRT/compute/symbolic.h, line 34
SymBool(SymBool)
SymBool(const SymBool& other)
Copy: an independent value (a symbolic node, when present, is not shared).
Declared in ClikaRT/compute/symbolic.h, line 36
SymBool(SymBool)
SymBool(SymBool&& other) noexcept
Move: takes over the symbolic node; other reverts to a concrete default.
Declared in ClikaRT/compute/symbolic.h, line 38
operator=(SymBool)
Copy-assign; same value semantics as the copy ctor.
Declared in ClikaRT/compute/symbolic.h, line 40
operator=(SymBool)
Move-assign; same transfer as the move ctor.
Declared in ClikaRT/compute/symbolic.h, line 42
~SymBool()
~SymBool()
Releases the symbolic node, if any.
Declared in ClikaRT/compute/symbolic.h, line 44
is_concrete()
bool is_concrete() const noexcept
True when this holds a plain bool (no symbolic node).
Declared in ClikaRT/compute/symbolic.h, line 47
concrete_value()
std::optional<bool> concrete_value() const
The value iff is_concrete(), else nullopt.
Declared in ClikaRT/compute/symbolic.h, line 49