carl  24.04
Computer ARithmetic Library
BVConstraintPool.h
Go to the documentation of this file.
1 /*
2  * File: BVConstraintPool.h
3  * Author: Andreas Krueger <andreas.krueger@rwth-aachen.de>
4  */
5 
6 #pragma once
7 
8 #include "Pool.h"
9 
10 namespace carl
11 {
12  // Forward declaration
13  class BVConstraint;
14  enum class BVCompareRelation : unsigned;
15  class BVTerm;
16 
17  class BVConstraintPool : public Singleton<BVConstraintPool>, public Pool<BVConstraint>
18  {
20 
24 
25  public:
26 
27  ConstConstraintPtr create(bool _consistent = true);
28 
29  ConstConstraintPtr create(const BVCompareRelation& _relation,
30  const BVTerm& _lhs, const BVTerm& _rhs);
31 
32  void assignId(ConstraintPtr _constraint, std::size_t _id) override;
33  };
34 }
35 
36 #define BV_CONSTRAINT_POOL BVConstraintPool::getInstance()
carl is the main namespace for the library.
Base class that implements a singleton.
Definition: Singleton.h:24