1 /********************* */
2 /*! \file type_enumerator_template.cpp
4 ** Original author: Morgan Deters
5 ** Major contributors: none
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 project.
8 ** Copyright (c) 2009-2013 New York University and The University of Iowa
9 ** See the file COPYING in the top-level source directory for licensing
10 ** information.\endverbatim
12 ** \brief Enumerators for types
14 ** Enumerators for types.
19 #include "theory/type_enumerator.h"
21 #include "expr/kind.h"
22 #include "util/cvc4_assert.h"
24 $
{type_enumerator_includes
}
25 #line 26 "${template}"
32 TypeEnumeratorInterface
* TypeEnumerator::mkTypeEnumerator(TypeNode type
) throw(AssertionException
) {
33 switch(type
.getKind()) {
34 case kind::TYPE_CONSTANT
:
35 switch(type
.getConst
<TypeConstant
>()) {
36 $
{mk_type_enumerator_type_constant_cases
}
40 ss
<< "No type enumerator for type `" << type
<< "'";
45 $
{mk_type_enumerator_cases
}
46 #line 47 "${template}"
50 ss
<< "No type enumerator for type `" << type
<< "'";
57 }/* CVC4::theory namespace */