carl
24.04
Computer ARithmetic Library
|
Represent a sum type/variant over the different kinds of values that can be assigned to the different kinds of variables that exist in CARL and to use them in a more uniform way, e.g. More...
#include <ModelValue.h>
Public Member Functions | |
ModelValue ()=default | |
Default constructor. More... | |
ModelValue (const ModelValue &mv) | |
ModelValue (ModelValue &&mv)=default | |
template<typename T , typename T2 = typename std::enable_if<convertible_to_variant<T, Super>::value, T>::type> | |
ModelValue (const T &_t) | |
Initialize the Assignment from some valid type of the underlying variant. More... | |
template<typename T , typename T2 = typename std::enable_if<convertible_to_variant<T, Super>::value, T>::type> | |
ModelValue (T &&_t) | |
template<typename ... Args> | |
ModelValue (const std::variant< Args... > &variant) | |
ModelValue (const MultivariateRoot< Poly > &mr) | |
ModelValue & | operator= (const ModelValue &mv) |
ModelValue & | operator= (ModelValue &&mv)=default |
template<typename T > | |
ModelValue & | operator= (const T &t) |
Assign some value to the underlying variant. More... | |
template<typename ... Args> | |
ModelValue & | operator= (const std::variant< Args... > &variant) |
ModelValue & | operator= (const MultivariateRoot< Poly > &mr) |
template<typename F > | |
auto | visit (F &&f) const |
bool | isBool () const |
bool | isRational () const |
bool | isSqrtEx () const |
bool | isRAN () const |
bool | isBVValue () const |
bool | isSortValue () const |
bool | isUFModel () const |
bool | isPlusInfinity () const |
bool | isMinusInfinity () const |
bool | isSubstitution () const |
bool | asBool () const |
const Rational & | asRational () const |
const SqrtEx< Poly > & | asSqrtEx () const |
const Poly::RootType & | asRAN () const |
const carl::BVValue & | asBVValue () const |
const SortValue & | asSortValue () const |
const UFModel & | asUFModel () const |
UFModel & | asUFModel () |
const InfinityValue & | asInfinity () const |
const ModelSubstitutionPtr< Rational, Poly > & | asSubstitution () const |
ModelSubstitutionPtr< Rational, Poly > & | asSubstitution () |
Private Types | |
using | Super = std::variant< bool, Rational, SqrtEx< Poly >, typename Poly::RootType, BVValue, SortValue, UFModel, InfinityValue, ModelSubstitutionPtr< Rational, Poly > > |
Base type we are deriving from. More... | |
Private Member Functions | |
template<typename Variant > | |
Super | clone (const Variant &v) const |
Private Attributes | |
Super | mData |
Friends | |
template<typename R , typename P > | |
std::ostream & | operator<< (std::ostream &os, const ModelValue< R, P > &mv) |
template<typename R , typename P > | |
bool | operator== (const ModelValue< R, P > &lhs, const ModelValue< R, P > &rhs) |
template<typename R , typename P > | |
bool | operator< (const ModelValue< R, P > &lhs, const ModelValue< R, P > &rhs) |
Represent a sum type/variant over the different kinds of values that can be assigned to the different kinds of variables that exist in CARL and to use them in a more uniform way, e.g.
a plain "bool", "infinity", a "carl::RealAlgebraicNumber", a (bitvector) "carl::BVValue" etc.
Definition at line 56 of file ModelValue.h.
|
private |
Base type we are deriving from.
Definition at line 66 of file ModelValue.h.
|
default |
Default constructor.
|
inline |
Definition at line 87 of file ModelValue.h.
|
default |
|
inline |
Initialize the Assignment from some valid type of the underlying variant.
Definition at line 96 of file ModelValue.h.
|
inline |
Definition at line 99 of file ModelValue.h.
|
inline |
Definition at line 102 of file ModelValue.h.
|
inline |
Definition at line 104 of file ModelValue.h.
|
inline |
Definition at line 209 of file ModelValue.h.
|
inline |
Definition at line 241 of file ModelValue.h.
|
inline |
Definition at line 268 of file ModelValue.h.
|
inline |
Definition at line 233 of file ModelValue.h.
|
inline |
Definition at line 217 of file ModelValue.h.
|
inline |
Definition at line 249 of file ModelValue.h.
|
inline |
Definition at line 225 of file ModelValue.h.
|
inline |
|
inline |
Definition at line 273 of file ModelValue.h.
|
inline |
|
inline |
Definition at line 257 of file ModelValue.h.
|
inlineprivate |
Definition at line 71 of file ModelValue.h.
|
inline |
Definition at line 143 of file ModelValue.h.
|
inline |
Definition at line 171 of file ModelValue.h.
|
inline |
Definition at line 198 of file ModelValue.h.
|
inline |
Definition at line 192 of file ModelValue.h.
|
inline |
Definition at line 164 of file ModelValue.h.
|
inline |
Definition at line 150 of file ModelValue.h.
|
inline |
Definition at line 178 of file ModelValue.h.
|
inline |
Definition at line 157 of file ModelValue.h.
|
inline |
|
inline |
Definition at line 185 of file ModelValue.h.
|
inline |
|
inline |
Definition at line 130 of file ModelValue.h.
|
inline |
|
inline |
Assign some value to the underlying variant.
t | Some value. |
Definition at line 119 of file ModelValue.h.
|
default |
|
inline |
|
friend |
|
friend |
Definition at line 305 of file ModelValue.h.
|
friend |
|
private |
Definition at line 68 of file ModelValue.h.