The Gaudi Framework  v30r3 (a5ef0a68)
AnyDataWrapper< T > Class Template Referencefinal

#include <GaudiKernel/AnyDataWrapper.h>

Inheritance diagram for AnyDataWrapper< T >:
Collaboration diagram for AnyDataWrapper< T >:

Public Member Functions

 AnyDataWrapper (T &&data)
 
 AnyDataWrapper (AnyDataWrapper &&other)
 
const T & getData () const
 
T & getData ()
 
boost::optional< std::size_tsize () const override
 
- Public Member Functions inherited from DataObject
 DataObject ()
 Standard Constructor. More...
 
 DataObject (const DataObject &rhs)
 Copy Constructor. More...
 
DataObjectoperator= (const DataObject &rhs)
 Assignment Operator. More...
 
 DataObject (DataObject &&rhs)
 Move Constructor. More...
 
DataObjectoperator= (DataObject &&rhs)
 Move Assignment Operator. More...
 
virtual ~DataObject ()
 Standard Destructor. More...
 
virtual unsigned long addRef ()
 Add reference to object. More...
 
virtual unsigned long release ()
 release reference to object More...
 
virtual const CLIDclID () const
 Retrieve reference to class definition structure. More...
 
const std::stringname () const
 Retreive DataObject name. It is the name when registered in the store. More...
 
virtual StatusCode update ()
 Provide empty placeholder for internal object reconfiguration callback. More...
 
void setRegistry (IRegistry *pRegistry)
 Set pointer to Registry. More...
 
IRegistryregistry () const
 Get pointer to Registry. More...
 
LinkManagerlinkMgr () const
 Retrieve Link manager. More...
 
unsigned char version () const
 Retrieve version number of this object representation. More...
 
void setVersion (unsigned char vsn)
 Set version number of this object representation. More...
 
unsigned long refCount () const
 Return the refcount. More...
 
virtual std::ostreamfillStream (std::ostream &s) const
 Fill the output stream (ASCII) More...
 

Private Attributes

m_data
 

Additional Inherited Members

- Static Public Member Functions inherited from DataObject
static const CLIDclassID ()
 Retrieve reference to class definition structure (static access) More...
 

Detailed Description

template<class T>
class AnyDataWrapper< T >

Definition at line 43 of file AnyDataWrapper.h.

Constructor & Destructor Documentation

template<class T>
AnyDataWrapper< T >::AnyDataWrapper ( T &&  data)
inline

Definition at line 46 of file AnyDataWrapper.h.

46 : m_data( std::move( data ) ){};
T move(T...args)
template<class T>
AnyDataWrapper< T >::AnyDataWrapper ( AnyDataWrapper< T > &&  other)
inline

Definition at line 48 of file AnyDataWrapper.h.

49  : AnyDataWrapperBase( std::move( other ) ), m_data( std::move( other.m_data ) ){};
T move(T...args)

Member Function Documentation

template<class T>
const T& AnyDataWrapper< T >::getData ( ) const
inline

Definition at line 51 of file AnyDataWrapper.h.

51 { return m_data; }
template<class T>
T& AnyDataWrapper< T >::getData ( )
inline

Definition at line 52 of file AnyDataWrapper.h.

52 { return m_data; }
template<class T>
boost::optional<std::size_t> AnyDataWrapper< T >::size ( ) const
inlineoverridevirtual

Implements AnyDataWrapperBase.

Definition at line 54 of file AnyDataWrapper.h.

55  {
56  // TODO: C++17: add 'using std::size' and remove the first two implementations in details...
57  using details::size;
58  return size( m_data );
59  }
boost::optional< std::size_t > size() const override
constexpr auto size(const C &c) noexcept(noexcept(c.size())) -> decltype(c.size())

Member Data Documentation

template<class T>
T AnyDataWrapper< T >::m_data
private

Definition at line 62 of file AnyDataWrapper.h.


The documentation for this class was generated from the following file: