BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fragment.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_KERNEL_FRAGMENT_H
6 #define BALL_KERNEL_FRAGMENT_H
7 
8 #ifndef BALL_KERNEL_ATOMCONTAINER_H
10 #endif
11 
12 namespace BALL
13 {
21  : public AtomContainer
22  {
23  public:
24 
26 
27 
30 
32  enum Property
33  {
35  NUMBER_OF_PROPERTIES = AtomContainer::NUMBER_OF_PROPERTIES
36  };
37 
39 
42 
45  Fragment();
46 
49  Fragment(const Fragment& fragment, bool deep = true);
50 
53  Fragment(const String& name);
54 
57  virtual ~Fragment();
58 
60 
63 
67  void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
68 
72  void persistentRead(PersistenceManager& pm);
73 
75 
78 
83  Fragment& operator = (const Fragment& fragment);
84 
86 
91  bool operator == (const Fragment& fragment) const;
92 
96  bool operator != (const Fragment& fragment) const;
97 
101 
108  virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
109 
111  };
112 
113 // required for visual studio
114 #ifdef BALL_COMPILER_MSVC
115 template class BALL_EXPORT UnaryProcessor<Fragment>;
116 #endif
117 } // namespace BALL
118 
119 #endif // BALL_KERNEL_FRAGMENT_H