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. |