xrootd
Loading...
Searching...
No Matches
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.
 
std::future< RET > GetFuture ()
 Get the future result of the job.
 
- Public Member Functions inherited from XrdCl::Job
virtual ~Job ()
 Virtual destructor.
 

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

◆ AnyJob()

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

◆ GetFuture()

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().

◆ Run()

template<typename FUNC , typename RET , typename ... ARGs>
void XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::Run ( void *  arg)
inlinevirtual

◆ RunImpl() [1/2]

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

◆ RunImpl() [2/2]

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

Member Data Documentation

◆ args

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

◆ func

template<typename FUNC , typename RET , typename ... ARGs>
FUNC XrdEc::ThreadPool::AnyJob< FUNC, RET, ARGs >::func
protected

◆ prms

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: