3 #include "../../Common.h"
13 friend carl::Singleton<ExpressionPool>;
17 std::unordered_set<ExpressionContent*>
mPool;
38 template<
typename... Args>
40 return ExpressionPool::getInstance().create(std::forward<Args>(args)...);
static const ExpressionContent * create(Args &&... args)
const ExpressionContent * create(NaryType _type, Expressions &&_expressions)
const ExpressionContent * create(UnaryType _type, Expression &&_expression)
const ExpressionContent * create(BinaryType _type, Expression &&_lhs, Expression &&_rhs)
const ExpressionContent * create(QuantifierType _type, std::vector< carl::Variable > &&_variables, Expression &&_expression)
const ExpressionContent * create(ITEType _type, Expression &&_if, Expression &&_then, Expression &&_else)
const ExpressionContent * create(NaryType _type, const std::initializer_list< Expression > &_expressions)
std::unordered_set< ExpressionContent * > mPool
const ExpressionContent * add(ExpressionContent *_ec)
const ExpressionContent * create(carl::Variable::Arg var)
std::vector< Expression > Expressions
Class to create the formulas for axioms.