Merge pull request #73 from kbansal/parser-dont-tokenize
[cvc5.git] / src / theory / theory_traits_template.h
1 /********************* */
2 /*! \file theory_traits_template.h
3 ** \verbatim
4 ** Original author: Dejan Jovanovic
5 ** Major contributors: Morgan Deters
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 project.
8 ** Copyright (c) 2009-2014 New York University and The University of Iowa
9 ** See the file COPYING in the top-level source directory for licensing
10 ** information.\endverbatim
11 **
12 ** \brief A template for the theory_traits.h header, defining various
13 ** (static) aspects of theories
14 **
15 ** This file is a template for the theory_traits.h header, defining
16 ** various (static) aspects of theories, combined with the theory
17 ** kinds files to produce the final header.
18 **/
19
20 #include "cvc4_private.h"
21
22 #pragma once
23
24 #include "theory/theory.h"
25 #include "theory/options.h"
26
27 ${theory_includes}
28
29 namespace CVC4 {
30 namespace theory {
31
32 template <TheoryId theoryId>
33 struct TheoryTraits;
34
35 ${theory_traits}
36
37 ${theory_for_each_macro}
38
39 #line 40 "${template}"
40
41 struct TheoryConstructor {
42 static void addTheory(TheoryEngine* engine, TheoryId id) {
43 switch(id) {
44
45 ${theory_constructors}
46
47 default:
48 Unhandled(id);
49 }
50 }
51 };/* struct CVC4::theory::TheoryConstructor */
52
53 }/* CVC4::theory namespace */
54 }/* CVC4 namespace */