CPPuddle
Public Member Functions | Public Attributes | List of all members
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool > Class Template Reference

#include <executor_pools_management.hpp>

Public Member Functions

 executor_interface (size_t gpu_id)
 
 executor_interface (const executor_interface &other)=delete
 
executor_interfaceoperator= (const executor_interface &other)=delete
 
 executor_interface (executor_interface &&other)=delete
 
executor_interfaceoperator= (executor_interface &&other)=delete
 
 ~executor_interface ()
 
template<typename F , typename... Ts>
decltype(auto) post (F &&f, Ts &&... ts)
 
template<typename F , typename... Ts>
decltype(auto) async_execute (F &&f, Ts &&... ts)
 
decltype(auto) get_future ()
 
 operator Interface & ()
 

Public Attributes

Interface & interface
 

Detailed Description

template<typename Interface, typename Pool>
class cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >

Stream interface for RAII purposes Draws executor from the executor pool and releases it upon destruction

Constructor & Destructor Documentation

◆ executor_interface() [1/3]

template<typename Interface , typename Pool >
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::executor_interface ( size_t  gpu_id)
inlineexplicit

◆ executor_interface() [2/3]

template<typename Interface , typename Pool >
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::executor_interface ( const executor_interface< Interface, Pool > &  other)
delete

◆ executor_interface() [3/3]

template<typename Interface , typename Pool >
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::executor_interface ( executor_interface< Interface, Pool > &&  other)
delete

◆ ~executor_interface()

template<typename Interface , typename Pool >
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::~executor_interface ( )
inline

Member Function Documentation

◆ async_execute()

template<typename Interface , typename Pool >
template<typename F , typename... Ts>
decltype(auto) cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::async_execute ( F &&  f,
Ts &&...  ts 
)
inline

◆ get_future()

template<typename Interface , typename Pool >
decltype(auto) cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::get_future ( )
inline

◆ operator Interface &()

template<typename Interface , typename Pool >
cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::operator Interface & ( )
inline

◆ operator=() [1/2]

template<typename Interface , typename Pool >
executor_interface& cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::operator= ( const executor_interface< Interface, Pool > &  other)
delete

◆ operator=() [2/2]

template<typename Interface , typename Pool >
executor_interface& cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::operator= ( executor_interface< Interface, Pool > &&  other)
delete

◆ post()

template<typename Interface , typename Pool >
template<typename F , typename... Ts>
decltype(auto) cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::post ( F &&  f,
Ts &&...  ts 
)
inline

Member Data Documentation

◆ interface

template<typename Interface , typename Pool >
Interface& cppuddle::executor_recycling::detail::executor_interface< Interface, Pool >::interface

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