00001 #ifndef ELEMENT_INFO_HH 00002 #define ELEMENT_INFO_HH 00003 00004 //--------------------------------------------------------------------------- 00005 // Copyright (c) 1995-2005 Clifton Labs, Inc. All Rights Reserved. 00006 // 00007 // You may modify, distribute, and use the software contained in this package 00008 // under the terms of the "GNU LIBRARY GENERAL PUBLIC LICENSE" version 2, 00009 // June 1991. A copy of this license agreement can be found in the file 00010 // "LGPL", distributed with this archive. 00011 //--------------------------------------------------------------------------- 00012 00013 #include "tyvis/TypeInfo.hh" 00014 #include <string> 00015 using std::string; 00016 00017 class RValue; 00018 class Element; 00019 00020 class ElementInfo : public TypeInfo { 00021 public: 00022 ElementInfo( const TypeInfo &initTypeInfo, 00023 const string &initIdentifier ); 00024 00025 ElementInfo( const ElementInfo &that ); 00026 00027 TypeInfo *clone() const; 00028 00029 ElementInfo &operator=( const ElementInfo & that ); 00030 00031 bool operator==( const TypeInfo &that ) const; 00032 00033 ~ElementInfo(); 00034 00038 const string &getIdentifier() const; 00039 00040 const TypeInfo &getTypeInfo() const; 00041 00042 RValue *create( const SubElementFactory *factory ) const; 00043 00044 00045 private: 00046 const TypeInfo *myTypeInfo; 00047 string myIdentifier; 00048 }; 00049 00050 #endif
1.4.6