PPL  0.12.1
Concrete_Expression.types.hh
Go to the documentation of this file.
00001 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
00002    Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
00003 
00004 This file is free software; as a special exception the author gives
00005 unlimited permission to copy and/or distribute it, with or without
00006 modifications, as long as this notice is preserved.
00007 
00008 This program is distributed in the hope that it will be useful, but
00009 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
00010 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011 PURPOSE. */
00012 
00013 #ifndef PPL_Concrete_Expression_types_hh
00014 #define PPL_Concrete_Expression_types_hh 1
00015 
00016 namespace Parma_Polyhedra_Library {
00017 
00018 /*
00019   NOTE: Doxygen seems to ignore documentation blocks attached to
00020   template class declarations that are not provided with a definition.
00021   This justifies (here below) the explicit use of Doxygen command \class.
00022 */
00023 
00027 template <typename Target>
00028 class Concrete_Expression;
00029 
00033 template <typename Target>
00034 class Binary_Operator;
00035 
00039 template <typename Target>
00040 class Unary_Operator;
00041 
00045 template <typename Target>
00046 class Cast_Operator;
00047 
00051 template <typename Target>
00052 class Integer_Constant;
00053 
00057 template <typename Target>
00058 class Floating_Point_Constant;
00059 
00063 template <typename Target>
00064 class Approximable_Reference;
00065 
00066 class Concrete_Expression_Type;
00067 
00078 typedef int Concrete_Expression_Kind;
00079 
00086 typedef int Concrete_Expression_BOP;
00087 
00094 typedef int Concrete_Expression_UOP;
00095 
00096 } // namespace Parma_Polyhedra_Library
00097 
00098 #endif // !defined(PPL_Concrete_Expression_types_hh)