dReal4
|
Represents a symbolic environment (mapping from a variable to a value). More...
Public Types | |
typedef Variable | key_type |
typedef double | mapped_type |
typedef std::unordered_map< key_type, mapped_type, hash_value< key_type > > | map |
typedef map::value_type | value_type |
std::pair<key_type, mapped_type> | |
typedef map::iterator | iterator |
typedef map::const_iterator | const_iterator |
Public Member Functions | |
Environment (const Environment &)=default | |
Environment & | operator= (const Environment &)=default |
Environment (Environment &&)=default | |
Environment & | operator= (Environment &&)=default |
Environment ()=default | |
Default constructor. More... | |
~Environment ()=default | |
Default destructor. More... | |
Environment (std::initializer_list< value_type > init) | |
List constructor. More... | |
Environment (std::initializer_list< key_type > vars) | |
List constructor. More... | |
Environment (map m) | |
Constructs an environment from m . | |
iterator | begin () |
Returns an iterator to the beginning. More... | |
iterator | end () |
Returns an iterator to the end. More... | |
const_iterator | begin () const |
Returns a const iterator to the beginning. More... | |
const_iterator | end () const |
Returns a const iterator to the end. More... | |
const_iterator | cbegin () const |
Returns a const iterator to the beginning. More... | |
const_iterator | cend () const |
Returns a const iterator to the end. More... | |
void | insert (const key_type &key, const mapped_type &elem) |
Inserts a pair (key , elem ). More... | |
bool | empty () const |
Checks whether the container is empty. More... | |
size_t | size () const |
Returns the number of elements. More... | |
iterator | find (const key_type &key) |
Finds element with specific key. More... | |
const_iterator | find (const key_type &key) const |
Finds element with specific key. More... | |
Variables | domain () const |
Returns the domain of this environment. More... | |
std::string | to_string () const |
Returns string representation. More... | |
mapped_type & | operator[] (const key_type &key) |
Returns a reference to the value that is mapped to a key equivalent to key , performing an insertion if such key does not already exist. | |
const mapped_type & | operator[] (const key_type &key) const |
As above, but returns a constref and does not perform an insertion (throwing a runtime error instead) if the key does not exist. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Environment &env) |
Represents a symbolic environment (mapping from a variable to a value).
This class is used when we evaluate symbolic expressions or formulas which include unquantified (free) variables. Here are examples:
Note that it is not allowed to have a dummy variable in an environment. It throws std::runtime_error for the attempts to create an environment with a dummy variable, to insert a dummy variable to an existing environment, or to take a reference to a value mapped to a dummy variable. See the following examples.
|
default |
Default constructor.
|
default |
Default destructor.
Environment | ( | std::initializer_list< value_type > | init | ) |
List constructor.
Constructs an environment from a list of (Variable * double).
Environment | ( | std::initializer_list< key_type > | vars | ) |
List constructor.
Constructs an environment from a list of Variable. Initializes the variables with 0.0.
|
inline |
Returns an iterator to the beginning.
|
inline |
Returns a const iterator to the beginning.
|
inline |
Returns a const iterator to the beginning.
|
inline |
Returns a const iterator to the end.
Variables domain | ( | ) | const |
Returns the domain of this environment.
|
inline |
Checks whether the container is empty.
|
inline |
Returns an iterator to the end.
|
inline |
Returns a const iterator to the end.
|
inline |
Finds element with specific key.
|
inline |
Finds element with specific key.
void insert | ( | const key_type & | key, |
const mapped_type & | elem | ||
) |
Inserts a pair (key
, elem
).
const Environment::mapped_type & operator[] | ( | const key_type & | key | ) | const |
As above, but returns a constref and does not perform an insertion (throwing a runtime error instead) if the key does not exist.
|
inline |
Returns the number of elements.
string to_string | ( | ) | const |
Returns string representation.