public:
- ArrayEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) throw(AssertionException) :
+ ArrayEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) :
TypeEnumeratorBase<ArrayEnumerator>(type),
d_tep(tep),
d_index(type.getArrayIndexType(), tep),
}
}
- Node operator*() throw(NoMoreValuesException) {
+ Node operator*() {
if (d_finished) {
throw NoMoreValuesException(getType());
}
return n;
}
- ArrayEnumerator& operator++() throw() {
+ ArrayEnumerator& operator++() {
Trace("array-type-enum") << "operator++ called, **this = " << **this << std::endl;
if (d_finished) {
type.getConst<TypeConstant>() == BOOLEAN_TYPE);
}
- Node operator*() throw(NoMoreValuesException) {
+ Node operator*() {
switch(d_value) {
case FALSE:
return NodeManager::currentNM()->mkConst(false);
Integer d_fixed_bound;
public:
- UninterpretedSortEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) throw(AssertionException) :
+ UninterpretedSortEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) :
TypeEnumeratorBase<UninterpretedSortEnumerator>(type),
d_count(0) {
Assert(type.getKind() == kind::SORT_TYPE);
}
}
- Node operator*() throw(NoMoreValuesException) {
+ Node operator*() {
if(isFinished()) {
throw NoMoreValuesException(getType());
}
public:
- BitVectorEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) throw(AssertionException) :
+ BitVectorEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) :
TypeEnumeratorBase<BitVectorEnumerator>(type),
d_size(type.getBitVectorSize()),
d_bits(0) {
}
- Node operator*() throw(NoMoreValuesException) {
+ Node operator*() {
if(d_bits != d_bits.modByPow2(d_size)) {
throw NoMoreValuesException(getType());
}
void init();
public:
- DatatypesEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) throw() :
+ DatatypesEnumerator(TypeNode type, TypeEnumeratorProperties * tep = NULL) :
TypeEnumeratorBase<DatatypesEnumerator>(type),
d_tep(tep),
d_datatype(DatatypeType(type.toType()).getDatatype()),
d_child_enum = false;
init();
}
- DatatypesEnumerator(TypeNode type, bool childEnum, TypeEnumeratorProperties * tep = NULL) throw() :
+ DatatypesEnumerator(TypeNode type, bool childEnum, TypeEnumeratorProperties * tep = NULL) :
TypeEnumeratorBase<DatatypesEnumerator>(type),
d_tep(tep),
d_datatype(DatatypeType(type.toType()).getDatatype()),
d_child_enum = childEnum;
init();
}
- DatatypesEnumerator(const DatatypesEnumerator& de) throw() :
+ DatatypesEnumerator(const DatatypesEnumerator& de) :
TypeEnumeratorBase<DatatypesEnumerator>(de.getType()),
d_tep(de.d_tep),
d_datatype(de.d_datatype),
virtual ~DatatypesEnumerator() throw() {
}
- Node operator*() throw(NoMoreValuesException) {
+ Node operator*() {
Debug("dt-enum-debug") << ": get term " << this << std::endl;
if(d_ctor < d_has_debruijn + d_datatype.getNumConstructors()) {
return getCurrentTerm( d_ctor );
}
}
- DatatypesEnumerator& operator++() throw() {
+ DatatypesEnumerator& operator++() {
Debug("dt-enum-debug") << ": increment " << this << std::endl;
unsigned prevSize = d_size_limit;
while(d_ctor < d_has_debruijn+d_datatype.getNumConstructors()) {
Node operator*() throw() {
return d_curr;
}
- StringEnumerator& operator++() throw() {
+ StringEnumerator& operator++() {
bool changed = false;
do{
for(unsigned i=0; i<d_data.size(); ++i) {
return d_curr;
}
- StringEnumeratorLength& operator++() throw() {
+ StringEnumeratorLength& operator++() {
bool changed = false;
for(unsigned i=0; i<d_data.size(); ++i) {
if( d_data[i] + 1 < d_cardinality ) {
virtual bool isFinished() throw() = 0;
/** Get the current constant of this type (throws if no such constant exists) */
- virtual Node operator*() throw(NoMoreValuesException) = 0;
+ virtual Node operator*() = 0;
/** Increment the pointer to the next available constant */
- virtual TypeEnumeratorInterface& operator++() throw() = 0;
+ virtual TypeEnumeratorInterface& operator++() = 0;
/** Clone this enumerator */
virtual TypeEnumeratorInterface* clone() const = 0;