carl
24.04
Computer ARithmetic Library
|
Represent a sum type/variant over the different kinds of variables that exist in CARL to use them in a more uniform way, e.g. More...
#include <ModelVariable.h>
Public Member Functions | |
template<typename T , typename T2 = typename std::enable_if<convertible_to_variant<T, Base>::value, T>::type> | |
ModelVariable (const T &_t) | |
Initialize the ModelVariable from some valid type of the underlying variant. More... | |
bool | is_variable () const |
bool | isBVVariable () const |
bool | isUVariable () const |
bool | isFunction () const |
carl::Variable | asVariable () const |
const carl::BVVariable & | asBVVariable () const |
const carl::UVariable & | asUVariable () const |
const carl::UninterpretedFunction & | asFunction () const |
Private Types | |
using | Base = std::variant< Variable, BVVariable, UVariable, UninterpretedFunction > |
Base type for the content. More... | |
Private Attributes | |
Base | mData |
Friends | |
bool | operator== (const ModelVariable &lhs, const ModelVariable &rhs) |
Return true if lhs is equal to rhs. More... | |
bool | operator< (const ModelVariable &lhs, const ModelVariable &rhs) |
Return true if lhs is smaller than rhs. More... | |
std::ostream & | operator<< (std::ostream &os, const ModelVariable &mv) |
Represent a sum type/variant over the different kinds of variables that exist in CARL to use them in a more uniform way, e.g.
an (algebraic) "carl::Variable", an (uninterpreted) "carl::UVariable", an "carl::UninterpretedFunction" etc.
Definition at line 20 of file ModelVariable.h.
|
private |
Base type for the content.
Definition at line 24 of file ModelVariable.h.
|
inline |
Initialize the ModelVariable from some valid type of the underlying variant.
Definition at line 38 of file ModelVariable.h.
|
inline |
Definition at line 80 of file ModelVariable.h.
|
inline |
Definition at line 96 of file ModelVariable.h.
|
inline |
Definition at line 88 of file ModelVariable.h.
|
inline |
Definition at line 72 of file ModelVariable.h.
|
inline |
Definition at line 44 of file ModelVariable.h.
|
inline |
Definition at line 51 of file ModelVariable.h.
|
inline |
Definition at line 65 of file ModelVariable.h.
|
inline |
Definition at line 58 of file ModelVariable.h.
|
friend |
Return true if lhs is smaller than rhs.
Definition at line 112 of file ModelVariable.h.
|
friend |
Definition at line 116 of file ModelVariable.h.
|
friend |
Return true if lhs is equal to rhs.
Definition at line 105 of file ModelVariable.h.
|
private |
Definition at line 26 of file ModelVariable.h.