1 /********************* */
4 ** Top contributors (to current version):
5 ** Morgan Deters, Mathias Preiner
6 ** This file is part of the CVC4 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.\endverbatim
12 ** \brief [[ Add one-line brief description here ]]
14 ** [[ Add lengthier description here ]]
15 ** \todo document this file
18 #include "cvc4_public.h"
20 #ifndef CVC4__DIVISIBLE_H
21 #define CVC4__DIVISIBLE_H
27 #include "util/integer.h"
32 * The structure representing the divisibility-by-k predicate.
38 Divisible(const Integer
& n
);
40 bool operator==(const Divisible
& d
) const {
44 bool operator!=(const Divisible
& d
) const {
47 }; /* struct Divisible */
50 * Hash function for the Divisible objects.
52 struct DivisibleHashFunction
54 size_t operator()(const Divisible
& d
) const {
57 }; /* struct DivisibleHashFunction */
59 inline std::ostream
& operator<<(std::ostream
& os
, const Divisible
& d
);
60 inline std::ostream
& operator <<(std::ostream
& os
, const Divisible
& d
) {
61 return os
<< "divisible-by-" << d
.k
;
66 #endif /* CVC4__DIVISIBLE_H */