Atlas-C++
Anonymous.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright 2000-2001 Stefanus Du Toit and Aloril.
4 // Copyright 2001-2005 Alistair Riddoch.
5 // Automatically generated using gen_cpp.py.
6 
7 #ifndef ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
8 #define ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
9 
10 #include <Atlas/Objects/RootEntity.h>
11 #include <Atlas/Objects/SmartPtr.h>
12 
13 namespace Atlas { namespace Objects { namespace Entity {
14 
21 class AnonymousData;
22 typedef SmartPtr<AnonymousData> Anonymous;
23 
24 static const int ANONYMOUS_NO = 40;
25 
28 
31 {
32 protected:
34  AnonymousData(AnonymousData *defaults = NULL) :
35  RootEntityData((RootEntityData*)defaults)
36  {
37  m_class_no = ANONYMOUS_NO;
38  }
40  virtual ~AnonymousData();
41 
42 public:
44  void setType(const std::string &, int);
45 
47  virtual AnonymousData * copy() const;
48 
50  virtual bool instanceOf(int classNo) const;
51 
52 
53  virtual void iterate(int& current_class, std::string& attr) const
54  {if(current_class == ANONYMOUS_NO) current_class = -1; RootEntityData::iterate(current_class, attr);}
55 
56  //freelist related things
57 public:
58  static AnonymousData *alloc();
59  virtual void free();
60 
66 
72 private:
73  static AnonymousData *defaults_AnonymousData;
74  static AnonymousData *begin_AnonymousData;
75 };
76 
77 } } } // namespace Atlas::Objects::Entity
78 
79 #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.