Atlas-C++
|
00001 // This file may be redistributed and modified only under the terms of 00002 // the GNU Lesser General Public License (See COPYING for details). 00003 // Copyright 2000-2001 Stefanus Du Toit and Aloril. 00004 // Copyright 2001-2005 Alistair Riddoch. 00005 // Automatically generated using gen_cpp.py. 00006 00007 #ifndef ATLAS_OBJECTS_OPERATION_GENERIC_H 00008 #define ATLAS_OBJECTS_OPERATION_GENERIC_H 00009 00010 #include <Atlas/Objects/RootOperation.h> 00011 #include <Atlas/Objects/SmartPtr.h> 00012 00013 namespace Atlas { namespace Objects { namespace Operation { 00014 00025 class GenericData; 00026 typedef SmartPtr<GenericData> Generic; 00027 00028 static const int GENERIC_NO = 41; 00029 00032 00038 class GenericData : public RootOperationData 00039 { 00040 protected: 00042 GenericData(GenericData *defaults = NULL) : 00043 RootOperationData((RootOperationData*)defaults) 00044 { 00045 m_class_no = GENERIC_NO; 00046 } 00048 virtual ~GenericData(); 00049 00050 public: 00052 void setType(const std::string &, int); 00053 00055 virtual GenericData * copy() const; 00056 00058 virtual bool instanceOf(int classNo) const; 00059 00060 00061 virtual void iterate(int& current_class, std::string& attr) const 00062 {if(current_class == GENERIC_NO) current_class = -1; RootOperationData::iterate(current_class, attr);} 00063 00064 //freelist related things 00065 public: 00066 static GenericData *alloc(); 00067 virtual void free(); 00068 00073 virtual GenericData *getDefaultObject(); 00074 00079 static GenericData *getDefaultObjectInstance(); 00080 private: 00081 static GenericData *defaults_GenericData; 00082 static GenericData *begin_GenericData; 00083 }; 00084 00085 } } } // namespace Atlas::Objects::Operation 00086 00087 #endif // ATLAS_OBJECTS_OPERATION_GENERIC_H
Copyright 2000-2004 the respective authors.
This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.