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:
const Variable var_x{"x"};
const Variable var_y{"y"};
const Expression
x{var_x};
const Expression y{var_x};
const Expression e1{
x + y};
const Expression e2{
x - y};
const Formula f{e1 > e2};
const double res1 = e1.Evaluate(env);
const double res2 = e2.Evaluate(env);
const bool res = f.Evaluate(env);
|
| Environment ()=default |
| Default constructor. 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 (of map type, which is std::unordered_map ). More...
|
|
| ~Environment () |
|
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 ) if this environment doesn't contain key . More...
|
|
void | insert (const Eigen::Ref< const MatrixX< key_type >> &keys, const Eigen::Ref< const MatrixX< mapped_type >> &elements) |
| Given a matrix of symbolic variables keys and a matrix of values elements , inserts each pair (keys(i, j), elements(i, j)) into the environment if this environment doesn't contain keys(i, j) . 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. More...
|
|
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...
|
|
|
| Environment (const Environment &)=default |
|
Environment & | operator= (const Environment &)=default |
|
| Environment (Environment &&)=default |
|
Environment & | operator= (Environment &&)=default |
|
Given a matrix of symbolic variables keys
and a matrix of values elements
, inserts each pair (keys(i, j), elements(i, j)) into the environment if this environment doesn't contain keys(i, j) .
Similar to insert function in map, if keys(i, j) already exists in this environment, then this function doesn't change the its existing value in this environment.
- Exceptions
-
std::exception | if the size of keys is different from the size of elements . |