00001 00002 #ifndef IIR_ARRAY_NATURE_DEFINITION_HH 00003 #define IIR_ARRAY_NATURE_DEFINITION_HH 00004 00005 // Copyright (c) 2002-2003 The University of Cincinnati. 00006 // All rights reserved. 00007 00008 // UC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE 00009 // SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 00010 // IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR 00011 // NON-INFRINGEMENT. UC SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY 00012 // LICENSEE AS A RESULT OF USING, RESULT OF USING, MODIFYING OR DISTRIBUTING 00013 // THIS SOFTWARE OR ITS DERIVATIVES. 00014 00015 // By using or copying this Software, Licensee agrees to abide by the 00016 // intellectual property laws, and all other applicable laws of the U.S., and 00017 // the terms of this license. 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, June 00021 // 1991. A copy of this license agreement can be found in the file "LGPL", 00022 // distributed with this archive. 00023 00024 // Author: Sivakumar Gowrisankar gowriss@ececs.uc.edu 00025 00026 //--------------------------------------------------------------------------- 00027 00028 #include "IIR_NatureDefinition.hh" 00029 00030 class IIR_ScalarTypeDefinition; 00031 class IIR_TypeDefinition; 00032 00033 class IIR_ArrayNatureDefinition : public virtual IIR_NatureDefinition { 00034 00035 public: 00036 IIR_ArrayNatureDefinition() {} 00037 virtual ~IIR_ArrayNatureDefinition() {} 00038 00040 virtual void set_index_subtype(IIR_ScalarTypeDefinition* index_subtype) = 0; 00041 00043 virtual IIR_ScalarTypeDefinition* get_index_subtype() = 0; 00044 00046 virtual void set_element_subtype(IIR_TypeDefinition* element_subtype) = 0; 00047 00049 virtual IIR_TypeDefinition* get_element_subtype() = 0; 00050 00052 IIR_TypeDefinition *get_final_subtype() = 0; 00053 00056 virtual void set_is_element(IIR_Boolean) = 0; 00057 }; 00058 #endif
1.4.6