constraint_functors.hh

Go to the documentation of this file.
00001 #ifndef CONSTRAINT_FUNCTOR_HH
00002 #define CONSTRAINT_FUNCTOR_HH
00003 
00004 // Copyright (c) 1996-1999 The University of Cincinnati.
00005 // All rights reserved. 
00006 
00007 // UC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF 
00008 // THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
00009 // TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
00010 // PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  UC SHALL NOT BE LIABLE
00011 // FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
00012 // MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
00013 
00014 // By using or copying this Software, Licensee agrees to abide by the
00015 // intellectual property laws, and all other applicable laws of the
00016 // U.S., and the terms of this license.
00017 
00018 
00019 // You may modify, distribute, and use the software contained in this package
00020 // under the terms of the "GNU LIBRARY GENERAL PUBLIC LICENSE" version 2,
00021 // June 1991. A copy of this license agreement can be found in the file
00022 // "LGPL", distributed with this archive.
00023 
00024 // Author: Dale E. Martin          dmartin@cliftonlabs.com
00025 
00026 //---------------------------------------------------------------------------
00027 
00028 #include "IIR.hh"
00029 
00030 class constraint_functor {
00031 public:
00032   virtual bool operator()( IIR *operate_on ) const = 0;
00033 };
00034 
00035 class is_attribute_declaration_functor : public constraint_functor {
00036   virtual bool operator()( IIR *operate_on ) const {
00037     return operate_on->is_attribute_declaration();
00038   }
00039 };
00040 
00041 class is_array_type_functor : public constraint_functor {
00042   virtual bool operator()( IIR *operate_on ) const {
00043     return operate_on->is_array_type();
00044   }
00045 };
00046 
00047 class is_discrete_type_functor : public constraint_functor {
00048   virtual bool operator()( IIR *operate_on ) const {
00049     return operate_on->is_discrete_type();
00050   }
00051 };
00052 
00053 class is_character_type_functor : public constraint_functor {
00054   virtual bool operator()( IIR *operate_on ) const {
00055     return operate_on->is_character_type();
00056   }
00057 };
00058 
00059 class is_scalar_type_functor : public constraint_functor {
00060   virtual bool operator()( IIR *operate_on ) const {
00061     return operate_on->is_scalar_type();
00062   }
00063 };
00064 
00065 class is_integer_type_functor : public constraint_functor {
00066   virtual bool operator()( IIR *operate_on ) const {
00067     return operate_on->is_integer_type();
00068   }
00069 };
00070 
00071 class is_label_functor : public constraint_functor {
00072   virtual bool operator()( IIR *operate_on ) const {
00073     return operate_on->is_label();
00074   }
00075 };
00076 
00077 class is_component_declaration_functor : public constraint_functor {
00078   virtual bool operator()( IIR *operate_on ) const {
00079     return operate_on->is_component_declaration();
00080   }
00081 };
00082 
00083 class is_subprogram_functor : public constraint_functor {
00084   virtual bool operator()( IIR *operate_on ) const {
00085     return operate_on->is_subprogram();
00086   }
00087 };
00088 
00089 class is_type_functor : public constraint_functor {
00090   virtual bool operator()( IIR *operate_on ) const {
00091     return operate_on->is_type();
00092   }
00093 };
00094 
00095 class is_function_declaration_functor : public constraint_functor {
00096   virtual bool operator()( IIR *operate_on ) const {
00097     return operate_on->is_function_declaration();
00098   }
00099 };
00100 
00101 class is_signal_functor : public constraint_functor {
00102   virtual bool operator()( IIR *operate_on ) const {
00103     return operate_on->is_signal();
00104   }
00105 };
00106 
00107 class is_entity_declaration_functor : public constraint_functor {
00108   virtual bool operator()( IIR *operate_on ) const {
00109     return operate_on->is_entity_declaration();
00110   }
00111 };
00112 
00113 class is_architecture_declaration_functor : public constraint_functor {
00114   virtual bool operator()( IIR *operate_on ) const {
00115     return operate_on->is_architecture_declaration();
00116   }
00117 };
00118 
00119 class is_configuration_declaration_functor : public constraint_functor {
00120   virtual bool operator()( IIR *operate_on ) const {
00121     return operate_on->is_configuration_declaration();
00122   }
00123 };
00124 
00125 class is_procedure_declaration_functor : public constraint_functor {
00126   virtual bool operator()( IIR *operate_on ) const {
00127     return operate_on->is_procedure_declaration();
00128   }
00129 };
00130 
00131 class is_package_declaration_functor : public constraint_functor {
00132   virtual bool operator()( IIR *operate_on ) const {
00133     return operate_on->is_package_declaration();
00134   }
00135 };
00136 
00137 class is_subtype_declaration_functor : public constraint_functor {
00138   virtual bool operator()( IIR *operate_on ) const {
00139     return operate_on->is_subtype_declaration();
00140   }
00141 };
00142 
00143 class is_constant_functor : public constraint_functor {
00144   virtual bool operator()( IIR *operate_on ) const {
00145     return operate_on->is_constant();
00146   }
00147 };
00148 
00149 class is_variable_functor : public constraint_functor {
00150   virtual bool operator()( IIR *operate_on ) const {
00151     return operate_on->is_variable();
00152   }
00153 };
00154 
00155 class is_literal_functor : public constraint_functor {
00156   virtual bool operator()( IIR *operate_on ) const {
00157     return operate_on->is_literal();
00158   }
00159 };
00160 
00161 class is_file_functor : public constraint_functor {
00162   virtual bool operator()( IIR *operate_on ) const {
00163     return operate_on->is_file();
00164   }
00165 };
00166 
00167 class is_physical_unit_functor : public constraint_functor {
00168   virtual bool operator()( IIR *operate_on ) const {
00169     return operate_on->is_physical_unit();
00170   }
00171 };
00172 
00173 class is_group_declaration_functor : public constraint_functor {
00174   virtual bool operator()( IIR *operate_on ) const {
00175     return operate_on->is_group_declaration();
00176   }
00177 };
00178 #endif

Generated on Fri Mar 31 11:04:13 2006 for Savant by  doxygen 1.4.6