The Gaudi Framework  v29r0 (ff2e7097)
AnyDataWrapper.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ANYDATAWRAPPER_H
2 #define GAUDIKERNEL_ANYDATAWRAPPER_H
3 
4 // Include files
6 
8  // ugly hack to circumvent the usage of boost::any yet
9  // DataSvc would need a templated register method
10  virtual ~AnyDataWrapperBase(){};
11 };
12 
13 template <class T>
15 {
16 public:
17  AnyDataWrapper( T&& data ) : m_data( std::move( data ) ){};
18 
20  : AnyDataWrapperBase( std::move( other ) ), m_data( std::move( other.m_data ) ){};
21 
22  const T& getData() const { return m_data; }
23  T& getData() { return m_data; }
24 
25 private:
26  T m_data;
27 };
28 
29 #endif
STL namespace.
const T & getData() const
AnyDataWrapper(AnyDataWrapper &&other)
virtual ~AnyDataWrapperBase()
AnyDataWrapper(T &&data)
#define GAUDI_API
Definition: Kernel.h:110
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29