SimplePUP example which uses PUP to pass a simple object along
[charm.git] / examples / charm++ / PUP / SimpleObject.h
1 class SimpleObject
2 {
3
4  public:
5
6   int publicInt;
7
8  SimpleObject(int param1, bool param2):publicInt(param1), privateBool(param2) {}
9
10  SimpleObject():publicInt(0), privateBool(false) {}
11  void pup(PUP::er &p)
12  {
13       // remember to pup your superclass if there is one
14    p|publicInt;
15    p|privateBool;
16  }
17
18  void doWork()
19  {
20    // here is where a useful object would do something
21    publicInt++;
22    privateBool=publicInt<20;
23  }
24
25  ~SimpleObject(){}
26
27  private:
28
29   // PUP is orthogonal to public vs private member choices
30   bool privateBool;
31
32 };