26 #ifndef __XRD_CL_OPERATION_PARAMS_HH__
27 #define __XRD_CL_OPERATION_PARAMS_HH__
35 #include <unordered_map>
76 ArgBase( std::future<T> &&ftr ) :
holder( new FutureValue( std::move( ftr ) ) )
101 if( !
holder )
throw std::logic_error(
"XrdCl::ArgBase::Get(): value not set." );
127 virtual T&
Get() = 0;
283 if( &arg ==
this )
return *
this;
284 this->
holder = std::move( arg.holder );
327 Arg( std::future<std::string> &&ftr ) :
ArgBase<std::string>( std::move( ftr ) )
351 if( &arg ==
this )
return *
this;
352 this->
holder = std::move( arg.holder );
358 #endif // __XRD_CL_OPERATION_PARAMS_HH__
T value
the value
Definition: XrdClArg.hh:156
Arg(Arg &&arg)
Get Constructor.
Definition: XrdClArg.hh:342
Optional< T > val
Definition: XrdClArg.hh:188
ArgBase()
Default Constructor.
Definition: XrdClArg.hh:51
FwdValue(const Fwd< T > &fwd)
Definition: XrdClArg.hh:201
FutureValue(std::future< T > &&ftr)
Definition: XrdClArg.hh:169
T & Get()
Definition: XrdClArg.hh:176
Arg & operator=(Arg &&arg)
Get-Assignment.
Definition: XrdClArg.hh:281
Definition: XrdClOptional.hh:43
Arg()
Default Constructor.
Definition: XrdClArg.hh:302
Arg(std::string str)
Definition: XrdClArg.hh:311
ArgBase(ArgBase &&arg)
Get Constructor.
Definition: XrdClArg.hh:92
Arg & operator=(Arg &&arg)
Get-Assignment.
Definition: XrdClArg.hh:349
ArgBase(std::future< T > &&ftr)
Definition: XrdClArg.hh:76
Arg(Arg &&arg)
Get Constructor.
Definition: XrdClArg.hh:274
T & Get() const
Definition: XrdClArg.hh:99
Arg(const Fwd< T > &fwd)
Definition: XrdClArg.hh:267
Definition: XrdClArg.hh:233
Arg(const char *cstr)
Definition: XrdClArg.hh:320
T & Get()
Definition: XrdClArg.hh:208
ArgBase(const Fwd< T > &fwd)
Definition: XrdClArg.hh:85
virtual ~ValueHolder()
Virtual Destructor (important ;-).
Definition: XrdClArg.hh:120
A helper class for holding forwarded value.
Definition: XrdClArg.hh:194
Arg()
Default Constructor.
Definition: XrdClArg.hh:240
ArgBase(T value)
Definition: XrdClArg.hh:67
PlainValue(T &&value)
Definition: XrdClArg.hh:140
Fwd< T > fwd
the forwarded value
Definition: XrdClArg.hh:217
std::unique_ptr< ValueHolder > holder
Holds the value of the argument.
Definition: XrdClArg.hh:223
std::future< T > ftr
the future value
Definition: XrdClArg.hh:187
virtual ~ArgBase()
Destructor.
Definition: XrdClArg.hh:58
Arg(const Fwd< std::string > &fwd)
Constructor.
Definition: XrdClArg.hh:334
Base class for Arg.
Definition: XrdClArg.hh:44
A helper class for holding future value.
Definition: XrdClArg.hh:162
Abstract class for holding a value.
Definition: XrdClArg.hh:115
A helper class for holding plain value.
Definition: XrdClArg.hh:133
Arg(T value)
Definition: XrdClArg.hh:249
Arg(std::future< T > &&ftr)
Definition: XrdClArg.hh:258
T & Get()
Definition: XrdClArg.hh:147
Definition: XrdClFwd.hh:133
Arg(std::future< std::string > &&ftr)
Constructor.
Definition: XrdClArg.hh:327