Skip to main content

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)

SymBool& operator=(const SymBool& other)

Copy-assign; same value semantics as the copy ctor.

Declared in ClikaRT/compute/symbolic.h, line 40

operator=(SymBool)

SymBool& operator=(SymBool&& other) noexcept

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