Atlas-C++
Anonymous.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_ENTITY_ANONYMOUS_H
00008 #define ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
00009 
00010 #include <Atlas/Objects/RootEntity.h>
00011 #include <Atlas/Objects/SmartPtr.h>
00012 
00013 namespace Atlas { namespace Objects { namespace Entity { 
00014 
00021 class AnonymousData;
00022 typedef SmartPtr<AnonymousData> Anonymous;
00023 
00024 static const int ANONYMOUS_NO = 40;
00025 
00028 
00030 class AnonymousData : public RootEntityData
00031 {
00032 protected:
00034     AnonymousData(AnonymousData *defaults = NULL) : 
00035         RootEntityData((RootEntityData*)defaults)
00036     {
00037         m_class_no = ANONYMOUS_NO;
00038     }
00040     virtual ~AnonymousData();
00041 
00042 public:
00044     void setType(const std::string &, int);
00045 
00047     virtual AnonymousData * copy() const;
00048 
00050     virtual bool instanceOf(int classNo) const;
00051 
00052 
00053     virtual void iterate(int& current_class, std::string& attr) const
00054         {if(current_class == ANONYMOUS_NO) current_class = -1; RootEntityData::iterate(current_class, attr);}
00055 
00056     //freelist related things
00057 public:
00058     static AnonymousData *alloc();
00059     virtual void free();
00060 
00065     virtual AnonymousData *getDefaultObject();
00066 
00071     static AnonymousData *getDefaultObjectInstance();
00072 private:
00073     static AnonymousData *defaults_AnonymousData;
00074     static AnonymousData *begin_AnonymousData;
00075 };
00076 
00077 } } } // namespace Atlas::Objects::Entity
00078 
00079 #endif // ATLAS_OBJECTS_ENTITY_ANONYMOUS_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.