ascription_type.h
Go to the documentation of this file.
/********************* */
#include "cvc4_public.h"
#ifndef __CVC4__ASCRIPTION_TYPE_H
#define __CVC4__ASCRIPTION_TYPE_H
#include "expr/type.h"
namespace CVC4 {
class CVC4_PUBLIC AscriptionType {
Type d_type;
public:
AscriptionType(Type t) throw() : d_type(t) {}
Type getType() const throw() { return d_type; }
bool operator==(const AscriptionType& other) const throw() {
return d_type == other.d_type;
}
bool operator!=(const AscriptionType& other) const throw() {
return d_type != other.d_type;
}
};/* class AscriptionType */
struct CVC4_PUBLIC AscriptionTypeHashFunction {
inline size_t operator()(const AscriptionType& at) const {
return TypeHashFunction()(at.getType());
}
};/* struct AscriptionTypeHashFunction */
inline std::ostream& operator<<(std::ostream& out, AscriptionType at) {
out << at.getType();
return out;
}
}/* CVC4 namespace */
#endif /* __CVC4__ASCRIPTION_TYPE_H */
CVC4::AscriptionType
A class used to parameterize a type ascription.
Definition ascription_type.h:33
CVC4::AscriptionType::getType
Type getType() const
Definition ascription_type.h:37
CVC4::AscriptionType::operator!=
bool operator!=(const AscriptionType &other) const
Definition ascription_type.h:41
CVC4::AscriptionType::operator==
bool operator==(const AscriptionType &other) const
Definition ascription_type.h:38
CVC4::AscriptionType::AscriptionType
AscriptionType(Type t)
Definition ascription_type.h:36
CVC4::Type
Class encapsulating CVC4 expression types.
Definition type.h:89
cvc4_public.h
Macros that should be defined everywhere during the building of the libraries and driver binary,...
CVC4_PUBLIC
#define CVC4_PUBLIC
Definition cvc4_public.h:30
CVC4
Definition expr.h:106
CVC4::operator<<
std::ostream & operator<<(std::ostream &out, const TypeCheckingException &e)
CVC4::AscriptionTypeHashFunction
A hash function for type ascription operators.
Definition ascription_type.h:49
CVC4::AscriptionTypeHashFunction::operator()
size_t operator()(const AscriptionType &at) const
Definition ascription_type.h:50
CVC4::TypeHashFunction
Hash function for Types.
Definition type.h:69
type.h
Interface for expression types.