1 /******************************************************************************
2 * Top contributors (to current version):
3 * Tim King, Mathias Preiner
5 * This file is part of the cvc5 project.
7 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8 * in the top-level source directory and their institutional affiliations.
9 * All rights reserved. See the file COPYING in the top-level source
10 * directory for licensing information.
11 * ****************************************************************************
13 * Forward declarations of the ConstraintValue and ConstraintDatabase
16 * This is the forward declarations of the ConstraintValue and
17 * ConstraintDatabase and the typedef for Constraint.
18 * This is used to break circular dependencies and minimize interaction
19 * between header files.
22 #ifndef CVC5__THEORY__ARITH__CONSTRAINT_FORWARD_H
23 #define CVC5__THEORY__ARITH__CONSTRAINT_FORWARD_H
27 #include "cvc5_private.h"
34 typedef Constraint
* ConstraintP
;
35 typedef const Constraint
* ConstraintCP
;
37 static constexpr ConstraintP NullConstraint
= nullptr;
39 class ConstraintDatabase
;
41 typedef std::vector
<ConstraintCP
> ConstraintCPVec
;
43 typedef std::vector
<Rational
> RationalVector
;
44 typedef RationalVector
* RationalVectorP
;
45 typedef const RationalVector
* RationalVectorCP
;
46 static constexpr RationalVectorCP RationalVectorCPSentinel
= nullptr;
47 static constexpr RationalVectorP RationalVectorPSentinel
= nullptr;
53 #endif /* CVC5__THEORY__ARITH__CONSTRAINT_FORWARD_H */