* Numerous documentation fixes (fix doxygen warnings, add missing documentation,...
[cvc5.git] / src / theory / rewriter_tables_template.h
1 /********************* */
2 /*! \file rewriter_tables.h
3 ** \verbatim
4 ** Original author: dejan
5 ** Major contributors: mdeters
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 prototype.
8 ** Copyright (c) 2009, 2010, 2011 The Analysis of Computer Systems Group (ACSys)
9 ** Courant Institute of Mathematical Sciences
10 ** New York University
11 ** See the file COPYING in the top-level source directory for licensing
12 ** information.\endverbatim
13 **
14 ** \brief Rewriter tables for various theories
15 **
16 ** This file contains template code for the rewriter tables that are generated
17 ** from the Theory kinds files.
18 **/
19
20 #include "cvc4_private.h"
21
22 #pragma once
23
24 #include "theory/rewriter.h"
25 #include "theory/rewriter_attributes.h"
26
27 ${rewriter_includes}
28
29 namespace CVC4 {
30 namespace theory {
31
32 RewriteResponse Rewriter::callPreRewrite(theory::TheoryId theoryId, TNode node) {
33 switch(theoryId) {
34 ${pre_rewrite_calls}
35 default:
36 Unreachable();
37 }
38 }
39
40 RewriteResponse Rewriter::callPostRewrite(theory::TheoryId theoryId, TNode node) {
41 switch(theoryId) {
42 ${post_rewrite_calls}
43 default:
44 Unreachable();
45 }
46 }
47
48 Node Rewriter::getPreRewriteCache(theory::TheoryId theoryId, TNode node) {
49 switch(theoryId) {
50 ${pre_rewrite_get_cache}
51 default:
52 Unreachable();
53 }
54 }
55
56 Node Rewriter::getPostRewriteCache(theory::TheoryId theoryId, TNode node) {
57 switch(theoryId) {
58 ${post_rewrite_get_cache}
59 default:
60 Unreachable();
61 }
62 }
63
64 void Rewriter::setPreRewriteCache(theory::TheoryId theoryId, TNode node, TNode cache) {
65 switch(theoryId) {
66 ${pre_rewrite_set_cache}
67 default:
68 Unreachable();
69 }
70 }
71
72 void Rewriter::setPostRewriteCache(theory::TheoryId theoryId, TNode node, TNode cache) {
73 switch(theoryId) {
74 ${post_rewrite_set_cache}
75 default:
76 Unreachable();
77 }
78 }
79
80 void Rewriter::init() {
81 ${rewrite_init}
82 }
83
84 void Rewriter::shutdown() {
85 ${rewrite_shutdown}
86 }
87
88 }/* CVC4::theory namespace */
89 }/* CVC4 namespace */