3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

dealing with compilers that don't take typename in non-template classes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-05-23 09:11:33 -07:00
parent 2800049dd4
commit 0708ecb543
9 changed files with 59 additions and 417 deletions

View file

@ -242,23 +242,23 @@ namespace sat {
unsigned_vector m_pb_undef;
struct ba_sort {
typedef typename sat::literal literal;
typedef typename sat::literal_vector literal_vector;
typedef sat::literal pliteral;
typedef sat::literal_vector pliteral_vector;
ba_solver& s;
literal m_true;
literal_vector m_lits;
pliteral m_true;
pliteral_vector m_lits;
ba_sort(ba_solver& s): s(s), m_true(null_literal) {}
literal mk_false();
literal mk_true();
literal mk_not(literal l);
literal fresh(char const*);
literal mk_max(literal l1, literal l2);
literal mk_min(literal l1, literal l2);
pliteral mk_false();
pliteral mk_true();
pliteral mk_not(pliteral l);
pliteral fresh(char const*);
pliteral mk_max(pliteral l1, pliteral l2);
pliteral mk_min(pliteral l1, pliteral l2);
void mk_clause(unsigned n, literal const* lits);
std::ostream& pp(std::ostream& out, literal l) const;
std::ostream& pp(std::ostream& out, pliteral l) const;
};
ba_sort m_ba;
psort_nw<ba_sort> m_sort;