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 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(const Environment &)=default
Represents a symbolic variable.
Definition variable.h:34
x
Definition light_parameter.h:147
|
| | Environment ()=default |
| | Default constructor.
|
| | Environment (std::initializer_list< value_type > init) |
| | List constructor.
|
| | Environment (std::initializer_list< key_type > vars) |
| | List constructor.
|
| | Environment (map m) |
| | Constructs an environment from m (of map type, which is std::unordered_map).
|
| | ~Environment () |
| iterator | begin () |
| | Returns an iterator to the beginning.
|
| iterator | end () |
| | Returns an iterator to the end.
|
| const_iterator | begin () const |
| | Returns a const iterator to the beginning.
|
| const_iterator | end () const |
| | Returns a const iterator to the end.
|
| const_iterator | cbegin () const |
| | Returns a const iterator to the beginning.
|
| const_iterator | cend () const |
| | Returns a const iterator to the end.
|
| void | insert (const key_type &key, const mapped_type &elem) |
| | Inserts a pair (key, elem) if this environment doesn't contain key.
|
| 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) .
|
| bool | empty () const |
| | Checks whether the container is empty.
|
| size_t | size () const |
| | Returns the number of elements.
|
| iterator | find (const key_type &key) |
| | Finds element with specific key.
|
| const_iterator | find (const key_type &key) const |
| | Finds element with specific key.
|
| Variables | domain () const |
| | Returns the domain of this environment.
|
| std::string | to_string () const |
| | Returns string representation.
|
| 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.
|
| | 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. |