xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Static Private Member Functions | List of all members
XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs > Class Template Reference
Inheritance diagram for XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >:
Inheritance graph
[legend]
Collaboration diagram for XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >:
Collaboration graph
[legend]

Public Member Functions

 AnyJob (FUNC func, ARGs...args)
 
void Run (void *arg)
 Run the job. More...
 
std::future< RET > GetFuture ()
 Get the future result of the job. More...
 
- Public Member Functions inherited from XrdCl::Job
virtual ~Job ()
 Virtual destructor. More...
 

Protected Attributes

FUNC func
 
std::tuple< ARGs...> args
 
std::promise< RET > prms
 

Static Private Member Functions

static void RunImpl (FUNC func, std::tuple< ARGs...> &args, std::promise< void > &prms)
 
template<typename RETURN >
static void RunImpl (FUNC func, std::tuple< ARGs...> &args, std::promise< RETURN > &prms)
 

Constructor & Destructor Documentation

template<typename FUNC , typename RET , typename... ARGs>
XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::AnyJob ( FUNC  func,
ARGs...  args 
)
inline

Constructor

Parameters
func: functional to be called
args: arguments for the functional

Member Function Documentation

template<typename FUNC , typename RET , typename... ARGs>
std::future<RET> XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::GetFuture ( )
inline

Get the future result of the job.

References XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::prms.

Referenced by XrdEc::ThreadPool::Execute().

template<typename FUNC , typename RET , typename... ARGs>
void XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::Run ( void *  arg)
inlinevirtual
template<typename FUNC , typename RET , typename... ARGs>
static void XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::RunImpl ( FUNC  func,
std::tuple< ARGs...> &  args,
std::promise< void > &  prms 
)
inlinestaticprivate
template<typename FUNC , typename RET , typename... ARGs>
template<typename RETURN >
static void XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::RunImpl ( FUNC  func,
std::tuple< ARGs...> &  args,
std::promise< RETURN > &  prms 
)
inlinestaticprivate

Member Data Documentation

template<typename FUNC , typename RET , typename... ARGs>
std::tuple<ARGs...> XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::args
protected
template<typename FUNC , typename RET , typename... ARGs>
FUNC XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::func
protected
template<typename FUNC , typename RET , typename... ARGs>
std::promise<RET> XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::prms
protected

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