19 #ifndef __XRD_CL_ANY_OBJECT_HH__
20 #define __XRD_CL_ANY_OBJECT_HH__
59 template <
class Type>
void Set( Type
object,
bool own =
true )
78 template <
class Type>
void Get( Type &
object )
95 return strcmp(
pTypeInfo->name(),
typeid( Type* ).name() ) == 0;
114 virtual void Delete() = 0;
115 virtual void *
Get() = 0;
159 #endif // __XRD_CL_ANY_OBJECT_HH__
Definition: XrdClAnyObject.hh:32
void Get(Type &object)
Retrieve the object being held.
Definition: XrdClAnyObject.hh:78
bool Has()
Definition: XrdClAnyObject.hh:92
Type pObject
Definition: XrdClAnyObject.hh:137
virtual void Delete()
Definition: XrdClAnyObject.hh:126
bool pOwn
Definition: XrdClAnyObject.hh:142
~AnyObject()
Destructor.
Definition: XrdClAnyObject.hh:43
Holder * pHolder
Definition: XrdClAnyObject.hh:140
const std::type_info * pTypeInfo
Definition: XrdClAnyObject.hh:141
void Set(Type object, bool own=true)
Definition: XrdClAnyObject.hh:59
T & To(AnyObject &any)
Definition: XrdClAnyObject.hh:151
virtual ~Holder()
Definition: XrdClAnyObject.hh:113
ConcreteHolder(Type object)
Definition: XrdClAnyObject.hh:125
virtual void * Get()
Definition: XrdClAnyObject.hh:131
bool HasOwnership() const
Check if we own the object being stored.
Definition: XrdClAnyObject.hh:101
AnyObject()
Constructor.
Definition: XrdClAnyObject.hh:38
Definition: XrdClAnyObject.hh:110
Definition: XrdClAnyObject.hh:122