diff options
Diffstat (limited to 'src/theory/theoryof_table_middle.h')
-rw-r--r-- | src/theory/theoryof_table_middle.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/theory/theoryof_table_middle.h b/src/theory/theoryof_table_middle.h new file mode 100644 index 000000000..17a945d01 --- /dev/null +++ b/src/theory/theoryof_table_middle.h @@ -0,0 +1,35 @@ +/********************* */ +/** theoryof_table_middle.h + ** Original author: mdeters + ** Major contributors: none + ** Minor contributors (to current version): none + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information. + ** + ** The theoryOf table. + **/ + +namespace CVC4 { +namespace theory { + +class Theory; + +class TheoryOfTable { + + Theory** d_table; + +public: + + TheoryOfTable() : + d_table(new Theory*[::CVC4::kind::LAST_KIND]) { + } + + Theory* operator[](TNode n) { + Assert(n.getKind() >= 0 && n.getKind() < ::CVC4::kind::LAST_KIND, + "illegal to inquire theoryOf(UNDEFINED_KIND or out-of-range)"); + return d_table[n.getKind()]; + } |