Atlas-C++
Generic.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_OPERATION_GENERIC_H
8 #define ATLAS_OBJECTS_OPERATION_GENERIC_H
9 
10 #include <Atlas/Objects/RootOperation.h>
11 #include <Atlas/Objects/SmartPtr.h>
12 
13 namespace Atlas { namespace Objects { namespace Operation {
14 
25 class GenericData;
26 typedef SmartPtr<GenericData> Generic;
27 
28 static const int GENERIC_NO = 41;
29 
32 
39 {
40 protected:
42  GenericData(GenericData *defaults = NULL) :
44  {
45  m_class_no = GENERIC_NO;
46  }
48  virtual ~GenericData();
49 
50 public:
52  void setType(const std::string &, int);
53 
55  virtual GenericData * copy() const;
56 
58  virtual bool instanceOf(int classNo) const;
59 
60 
61  virtual void iterate(int& current_class, std::string& attr) const
62  {if(current_class == GENERIC_NO) current_class = -1; RootOperationData::iterate(current_class, attr);}
63 
64  //freelist related things
65 public:
66  static GenericData *alloc();
67  virtual void free();
68 
73  virtual GenericData *getDefaultObject();
74 
80 private:
81  static GenericData *defaults_GenericData;
82  static GenericData *begin_GenericData;
83 };
84 
85 } } } // namespace Atlas::Objects::Operation
86 
87 #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.