26 #ifndef SRC_XRDCL_XRDCLCTX_HH_ 27 #define SRC_XRDCL_XRDCLCTX_HH_ 38 struct Ctx :
protected std::shared_ptr<T*>
43 Ctx() :
std::shared_ptr<T*>(
std::make_shared<T*>() )
50 Ctx( T *ctx ) :
std::shared_ptr<T*>(
std::make_shared<T*>( ctx ) )
57 Ctx( T &ctx ) :
std::shared_ptr<T*>(
std::make_shared<T*>( &ctx ) )
102 if( !
bool( *this->
get() ) )
throw std::logic_error(
"XrdCl::Ctx contains no value!" );
103 return **this->
get();
115 if( !
bool( *this->
get() ) )
throw std::logic_error(
"XrdCl::Ctx contains no value!" );
T & operator*() const
Definition: XrdClCtx.hh:100
Utility class for storing a pointer to operation context.
Definition: XrdClCtx.hh:38
Definition: XrdOucJson.hh:4516
Ctx & operator=(T &ctx)
Assignment operator (from reference)
Definition: XrdClCtx.hh:87
Ctx(Ctx &&ctx)
Move constructor.
Definition: XrdClCtx.hh:71
Ctx(const Ctx &ctx)
Copy constructor.
Definition: XrdClCtx.hh:64
Ctx(T &ctx)
Constructor (from reference)
Definition: XrdClCtx.hh:57
Definition: XrdClAction.hh:33
Ctx & operator=(T *ctx)
Assignment operator (from pointer)
Definition: XrdClCtx.hh:78
Ctx()
Default constructor.
Definition: XrdClCtx.hh:43
Ctx(T *ctx)
Constructor (from pointer)
Definition: XrdClCtx.hh:50
T * operator->() const
Definition: XrdClCtx.hh:113