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
{
19
friend
Singleton<BVConstraintPool>
;
20
21
using
Constraint
=
BVConstraint
;
22
using
ConstraintPtr
=
Constraint
*;
23
using
ConstConstraintPtr
=
const
Constraint
*;
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
carl is the main namespace for the library.
carl::BVCompareRelation
BVCompareRelation
Definition:
BVCompareRelation.h:16
carl::Singleton
Base class that implements a singleton.
Definition:
Singleton.h:24
carl::BVConstraint
Definition:
BVConstraint.h:16
carl::BVConstraintPool
Definition:
BVConstraintPool.h:18
carl::BVTerm
Definition:
BVTerm.h:23
carl::Pool
Definition:
Pool.h:21
Pool.h
carl-formula
bitvector
BVConstraintPool.h
Generated by
1.9.1