adevs
adevs_msg_manager.h
1 
31 #ifndef __adevs_msg_manager_h_
32 #define __adevs_msg_manager_h_
33 
34 namespace adevs
35 {
36 
41 template <typename X> class MessageManager
42 {
43  public:
48  virtual X clone(X& value) = 0;
55  virtual void destroy(X& value) = 0;
56  virtual ~MessageManager(){}
57 };
58 
63 template <typename X> class NullMessageManager:
64  public MessageManager<X>
65 {
66  public:
68  X clone(X& value) { return value; }
70  void destroy(X& value){}
71 };
72 
73 }
74 
75 #endif