libcopp  2.2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
future::poller< T, TPTR > Class Template Reference

#include <poller.h>

Collaboration diagram for future::poller< T, TPTR >:
Collaboration graph

Public Types

using self_type = poller< T, TPTR >
 
using poll_storage = poll_storage_base< T, TPTR >
 
using storage_type = typename poll_storage::storage_type
 
using ptr_type = typename poll_storage::ptr_type
 
using value_type = typename poll_storage::value_type
 

Public Member Functions

 poller () LIBCOPP_MACRO_NOEXCEPT
 
template<class... U>
 poller (U &&...in) LIBCOPP_MACRO_NOEXCEPT
 
 poller (self_type &&other) LIBCOPP_MACRO_NOEXCEPT
 
polleroperator= (self_type &&other) LIBCOPP_MACRO_NOEXCEPT
 
template<class U >
polleroperator= (U &&in) LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE bool is_ready () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE bool is_pending () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE const value_typedata () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE value_typedata () LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE const ptr_typeraw_ptr () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE ptr_typeraw_ptr () LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE void reset ()
 
UTIL_FORCEINLINE void swap (self_type &other) LIBCOPP_MACRO_NOEXCEPT
 

Private Member Functions

template<class U , class UDELETER , typename std::enable_if< std::is_base_of< T, typename std::decay< U >::type >::value, bool >::type = false>
void setup_from (std::unique_ptr< U, UDELETER > &&in)
 
template<class... TARGS>
void setup_from (TARGS &&...args)
 
void setup_from (self_type &&other)
 

Private Attributes

storage_type storage_data_
 

Friends

UTIL_FORCEINLINE friend void swap (self_type &l, self_type &r) LIBCOPP_MACRO_NOEXCEPT
 

Detailed Description

template<class T, class TPTR = typename poll_storage_ptr_selector<T>::type>
class future::poller< T, TPTR >

Definition at line 12 of file poller.h.

Member Typedef Documentation

◆ poll_storage

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
using future::poller< T, TPTR >::poll_storage = poll_storage_base<T, TPTR>

Definition at line 16 of file poller.h.

◆ ptr_type

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
using future::poller< T, TPTR >::ptr_type = typename poll_storage::ptr_type

Definition at line 18 of file poller.h.

◆ self_type

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
using future::poller< T, TPTR >::self_type = poller<T, TPTR>

Definition at line 14 of file poller.h.

◆ storage_type

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
using future::poller< T, TPTR >::storage_type = typename poll_storage::storage_type

Definition at line 17 of file poller.h.

◆ value_type

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
using future::poller< T, TPTR >::value_type = typename poll_storage::value_type

Definition at line 19 of file poller.h.

Constructor & Destructor Documentation

◆ poller() [1/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
future::poller< T, TPTR >::poller ( )
inline

Definition at line 22 of file poller.h.

◆ poller() [2/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
template<class... U>
future::poller< T, TPTR >::poller ( U &&...  in)
inline

Definition at line 25 of file poller.h.

◆ poller() [3/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
future::poller< T, TPTR >::poller ( self_type &&  other)
inline

Definition at line 29 of file poller.h.

Member Function Documentation

◆ data() [1/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE const value_type* future::poller< T, TPTR >::data ( ) const
inline

Definition at line 46 of file poller.h.

◆ data() [2/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE value_type* future::poller< T, TPTR >::data ( )
inline

Definition at line 49 of file poller.h.

◆ is_pending()

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE bool future::poller< T, TPTR >::is_pending ( ) const
inline

Definition at line 44 of file poller.h.

◆ is_ready()

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE bool future::poller< T, TPTR >::is_ready ( ) const
inline

Definition at line 42 of file poller.h.

◆ operator=() [1/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
poller& future::poller< T, TPTR >::operator= ( self_type &&  other)
inline

Definition at line 31 of file poller.h.

◆ operator=() [2/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
template<class U >
poller& future::poller< T, TPTR >::operator= ( U &&  in)
inline

Definition at line 37 of file poller.h.

◆ raw_ptr() [1/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE const ptr_type& future::poller< T, TPTR >::raw_ptr ( ) const
inline

Definition at line 51 of file poller.h.

◆ raw_ptr() [2/2]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE ptr_type& future::poller< T, TPTR >::raw_ptr ( )
inline

Definition at line 54 of file poller.h.

◆ reset()

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE void future::poller< T, TPTR >::reset ( )
inline

Definition at line 56 of file poller.h.

◆ setup_from() [1/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
void future::poller< T, TPTR >::setup_from ( self_type &&  other)
inlineprivate

Definition at line 74 of file poller.h.

◆ setup_from() [2/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
template<class U , class UDELETER , typename std::enable_if< std::is_base_of< T, typename std::decay< U >::type >::value, bool >::type = false>
void future::poller< T, TPTR >::setup_from ( std::unique_ptr< U, UDELETER > &&  in)
inlineprivate

Definition at line 65 of file poller.h.

◆ setup_from() [3/3]

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
template<class... TARGS>
void future::poller< T, TPTR >::setup_from ( TARGS &&...  args)
inlineprivate

Definition at line 70 of file poller.h.

◆ swap()

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE void future::poller< T, TPTR >::swap ( self_type other)
inline

Definition at line 57 of file poller.h.

References util::swap().

Friends And Related Function Documentation

◆ swap

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
UTIL_FORCEINLINE friend void swap ( self_type l,
self_type r 
)
friend

Definition at line 60 of file poller.h.

Field Documentation

◆ storage_data_

template<class T , class TPTR = typename poll_storage_ptr_selector<T>::type>
storage_type future::poller< T, TPTR >::storage_data_
private

Definition at line 79 of file poller.h.


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