ElementInfo.hh

Go to the documentation of this file.
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

Generated on Fri Mar 31 11:05:08 2006 for Tyvis by  doxygen 1.4.6