cvc4-1.4
datatype.h File Reference

A class representing a Datatype definition. More...

#include "cvc4_public.h"
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include "expr/expr.h"
#include "expr/type.h"
#include "util/hash.h"
#include "util/exception.h"

Go to the source code of this file.

Data Structures

class  CVC4::DatatypeConstructorIterator
 
class  CVC4::DatatypeConstructorArgIterator
 
class  CVC4::DatatypeResolutionException
 An exception that is thrown when a datatype resolution fails. More...
 
class  CVC4::DatatypeSelfType
 A holder type (used in calls to DatatypeConstructor::addArg()) to allow a Datatype to refer to itself. More...
 
class  CVC4::DatatypeUnresolvedType
 An unresolved type (used in calls to DatatypeConstructor::addArg()) to allow a Datatype to refer to itself or to other mutually-recursive Datatypes. More...
 
class  CVC4::DatatypeConstructorArg
 A Datatype constructor argument (i.e., a Datatype field). More...
 
class  CVC4::DatatypeConstructor
 A constructor for a Datatype. More...
 
class  CVC4::Datatype
 The representation of an inductive datatype. More...
 
struct  CVC4::DatatypeHashFunction
 A hash function for Datatypes. More...
 

Namespaces

 CVC4
 

Functions

std::ostream & CVC4::operator<< (std::ostream &os, const Datatype &dt)
 
std::ostream & CVC4::operator<< (std::ostream &os, const DatatypeConstructor &ctor)
 
std::ostream & CVC4::operator<< (std::ostream &os, const DatatypeConstructorArg &arg)
 

Detailed Description

A class representing a Datatype definition.

** Original author: Morgan Deters
** Major contributors: Andrew Reynolds
** Minor contributors (to current version): none
** This file is part of the CVC4 project.
** Copyright (c) 2009-2014  New York University and The University of Iowa
** See the file COPYING in the top-level source directory for licensing
** information.

A class representing a Datatype definition for the theory of inductive datatypes.

Definition in file datatype.h.