Atlas-C++
Generic.h
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.