cvc4-1.3
tuple.h
Go to the documentation of this file.
1 /********************* */
17 #include "cvc4_public.h"
18 
19 #ifndef __CVC4__TUPLE_H
20 #define __CVC4__TUPLE_H
21 
22 #include <iostream>
23 #include <string>
24 #include <vector>
25 #include <utility>
26 
27 namespace CVC4 {
28 
30  unsigned d_index;
31 public:
32  TupleSelect(unsigned index) throw() : d_index(index) { }
33  unsigned getIndex() const throw() { return d_index; }
34  bool operator==(const TupleSelect& t) const throw() { return d_index == t.d_index; }
35  bool operator!=(const TupleSelect& t) const throw() { return d_index != t.d_index; }
36 };/* class TupleSelect */
37 
39  unsigned d_index;
40 public:
41  TupleUpdate(unsigned index) throw() : d_index(index) { }
42  unsigned getIndex() const throw() { return d_index; }
43  bool operator==(const TupleUpdate& t) const throw() { return d_index == t.d_index; }
44  bool operator!=(const TupleUpdate& t) const throw() { return d_index != t.d_index; }
45 };/* class TupleUpdate */
46 
48  inline size_t operator()(const TupleSelect& t) const {
49  return t.getIndex();
50  }
51 };/* struct TupleSelectHashFunction */
52 
54  inline size_t operator()(const TupleUpdate& t) const {
55  return t.getIndex();
56  }
57 };/* struct TupleUpdateHashFunction */
58 
59 std::ostream& operator<<(std::ostream& out, const TupleSelect& t) CVC4_PUBLIC;
60 std::ostream& operator<<(std::ostream& out, const TupleUpdate& t) CVC4_PUBLIC;
61 
62 inline std::ostream& operator<<(std::ostream& out, const TupleSelect& t) {
63  return out << "[" << t.getIndex() << "]";
64 }
65 
66 inline std::ostream& operator<<(std::ostream& out, const TupleUpdate& t) {
67  return out << "[" << t.getIndex() << "]";
68 }
69 
70 }/* CVC4 namespace */
71 
72 #endif /* __CVC4__TUPLE_H */
bool operator==(const TupleSelect &t) const
Definition: tuple.h:34
size_t operator()(const TupleSelect &t) const
Definition: tuple.h:48
TupleUpdate(unsigned index)
Definition: tuple.h:41
unsigned getIndex() const
Definition: tuple.h:33
bool operator==(const TupleUpdate &t) const
Definition: tuple.h:43
This is CVC4 release version For build and installation please see the INSTALL file included with this distribution This first official release of CVC4 is the result of more than three years of efforts by researchers at New York University and The University of Iowa The project leaders are Clark please refer to the AUTHORS file in the source distribution CVC4 is a tool for determining the satisfiability of a first order formula modulo a first order CVC CVC3 but does not directly incorporate code from any previous version CVC4 is intended to be an open and extensible SMT engine It can be used as a stand alone tool or as a library It has been designed to increase the performance and reduce the memory overhead of its predecessors It is written entirely in C and is released under a free software see the INSTALL file that comes with this distribution We recommend that you visit our CVC4 tutorials online please write to the cvc users cs nyu edu mailing list *if you need to report a bug with CVC4
Definition: README:39
unsigned getIndex() const
Definition: tuple.h:42
TupleSelect(unsigned index)
Definition: tuple.h:32
#define CVC4_PUBLIC
Definition: cvc4_public.h:30
Macros that should be defined everywhere during the building of the libraries and driver binary...
bool operator!=(const TupleSelect &t) const
Definition: tuple.h:35
std::ostream & operator<<(std::ostream &out, ModelFormatMode mode)
struct CVC4::options::out__option_t out
size_t operator()(const TupleUpdate &t) const
Definition: tuple.h:54
bool operator!=(const TupleUpdate &t) const
Definition: tuple.h:44