3 #include <carl-arith/core/Variable.h>
10 namespace variableordering {
13 std::map<carl::Variable, std::size_t>
mIDs;
15 auto it =
mIDs.find(v);
16 if (it ==
mIDs.end()) {
17 it =
mIDs.emplace(v,
mIDs.size()).first;
23 return mIDs.find(v)->second;
28 std::vector<carl::Variable> v(vids.
mIDs.size());
29 for (
const auto&
var: vids.
mIDs) {
30 assert(
var.second < v.size());
36 template<
typename Constra
ints>
38 for (
const auto& c: constraints) {
39 carl::variables(c,
vars);
void gatherVariables(carl::carlVariables &vars, const Constraints &constraints)
std::ostream & operator<<(std::ostream &os, const VariableIDs &vids)
std::vector< carl::Variable > vars(const std::pair< QuantifierType, std::vector< carl::Variable >> &p)
Class to create the formulas for axioms.
std::size_t operator[](carl::Variable v) const
std::map< carl::Variable, std::size_t > mIDs
std::size_t operator[](carl::Variable v)