5 #include <initializer_list> 10 #include "dreal/symbolic/symbolic_variable.h" 32 typedef typename std::set<Variable>::size_type size_type;
33 typedef typename std::set<Variable>::iterator iterator;
34 typedef typename std::set<Variable>::const_iterator const_iterator;
35 typedef typename std::set<Variable>::reverse_iterator reverse_iterator;
36 typedef typename std::set<Variable>::const_reverse_iterator
37 const_reverse_iterator;
46 Variables(std::initializer_list<Variable> init);
52 size_type
size()
const {
return vars_.size(); }
55 bool empty()
const {
return vars_.empty(); }
61 iterator
begin() {
return vars_.begin(); }
63 iterator
end() {
return vars_.end(); }
65 const_iterator
begin()
const {
return vars_.cbegin(); }
67 const_iterator
end()
const {
return vars_.cend(); }
69 const_iterator
cbegin()
const {
return vars_.cbegin(); }
71 const_iterator
cend()
const {
return vars_.cend(); }
73 reverse_iterator
rbegin() {
return vars_.rbegin(); }
75 reverse_iterator
rend() {
return vars_.rend(); }
77 const_reverse_iterator
rbegin()
const {
return vars_.crbegin(); }
79 const_reverse_iterator
rend()
const {
return vars_.crend(); }
81 const_reverse_iterator
crbegin()
const {
return vars_.crbegin(); }
83 const_reverse_iterator
crend()
const {
return vars_.crend(); }
88 template <
class InputIt>
89 void insert(InputIt first, InputIt last) {
90 vars_.insert(first, last);
104 const_iterator
find(
const Variable& key)
const {
return vars_.find(key); }
122 friend std::ostream& operator<<(std::ostream&,
const Variables& vars);
128 explicit Variables(std::set<Variable> vars);
130 std::set<Variable> vars_;
const_reverse_iterator rend() const
Returns a reverse iterator to the end.
Definition: symbolic_variables.h:79
friend Variables intersect(const Variables &vars1, const Variables &vars2)
Returns the intersection of vars1 and vars2.
Definition: symbolic_variables.cc:132
const_iterator begin() const
Returns an iterator to the beginning.
Definition: symbolic_variables.h:65
iterator begin()
Returns an iterator to the beginning.
Definition: symbolic_variables.h:61
size_type erase(const Variable &key)
Erases key from a set.
Definition: symbolic_variables.h:96
iterator find(const Variable &key)
Finds element with specific key.
Definition: symbolic_variables.h:103
Sum type of symbolic::Expression and symbolic::Formula.
Definition: api.cc:9
const_reverse_iterator crbegin() const
Returns a const reverse-iterator to the beginning.
Definition: symbolic_variables.h:81
const_iterator cbegin() const
Returns a const iterator to the beginning.
Definition: symbolic_variables.h:69
void insert(const Variable &var)
Inserts a variable var into a set.
Definition: symbolic_variables.h:86
std::string to_string() const
Returns string representation of Variables.
Definition: symbolic_variables.cc:35
Represents a symbolic variable.
Definition: symbolic_variable.h:16
Computes the hash value of v using std::hash.
Definition: hash.h:35
const_reverse_iterator rbegin() const
Returns a reverse iterator to the beginning.
Definition: symbolic_variables.h:77
bool IsStrictSubsetOf(const Variables &vars) const
Return true if vars is a strict subset of the Variables.
Definition: symbolic_variables.cc:58
const_iterator end() const
Returns an iterator to the end.
Definition: symbolic_variables.h:67
bool IsSupersetOf(const Variables &vars) const
Return true if vars is a superset of the Variables.
Definition: symbolic_variables.cc:54
reverse_iterator rbegin()
Returns a reverse iterator to the beginning.
Definition: symbolic_variables.h:73
void insert(const Variables &vars)
Inserts variables in vars into a set.
Definition: symbolic_variables.h:93
iterator end()
Returns an iterator to the end.
Definition: symbolic_variables.h:63
size_type size() const
Returns the number of elements.
Definition: symbolic_variables.h:52
const_iterator cend() const
Returns a const iterator to the end.
Definition: symbolic_variables.h:71
bool IsSubsetOf(const Variables &vars) const
Return true if vars is a subset of the Variables.
Definition: symbolic_variables.cc:49
bool include(const Variable &key) const
Return true if key is included in the Variables.
Definition: symbolic_variables.h:107
bool empty() const
Checks if this set is empty or not.
Definition: symbolic_variables.h:55
reverse_iterator rend()
Returns a reverse iterator to the end.
Definition: symbolic_variables.h:75
const_reverse_iterator crend() const
Returns a const reverse-iterator to the end.
Definition: symbolic_variables.h:83
Variables()=default
Default constructor.
Represents a set of variables.
Definition: symbolic_variables.h:25
bool IsStrictSupersetOf(const Variables &vars) const
Return true if vars is a strict superset of the Variables.
Definition: symbolic_variables.cc:65
void insert(InputIt first, InputIt last)
Inserts variables in [first, last) into a set.
Definition: symbolic_variables.h:89
size_t get_hash() const
Returns hash value.
Definition: symbolic_variables.cc:31
~Variables()=default
Default destructor.