libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 () noexcept
 
 ~poller () noexcept(std::is_nothrow_destructible< storage_type >::value)
 
template<class... U>
 poller (U &&...in) noexcept(noexcept(poll_storage::construct_storage(std::declval< storage_type & >(), std::forward< U >(in)...)))
 
 poller (self_type &&other) noexcept(noexcept(poll_storage::move_storage(std::declval< storage_type & >(), std::declval< storage_type >())))
 
polleroperator= (self_type &&other) noexcept(noexcept(poll_storage::move_storage(std::declval< storage_type & >(), std::declval< storage_type >())))
 
template<class U >
polleroperator= (U &&in) noexcept(noexcept(poll_storage::construct_storage(std::declval< storage_type & >(), std::forward< U >(in))))
 
LIBCOPP_UTIL_FORCEINLINE bool is_ready () const noexcept
 
LIBCOPP_UTIL_FORCEINLINE bool is_pending () const noexcept
 
LIBCOPP_UTIL_FORCEINLINE const value_typedata () const noexcept
 
LIBCOPP_UTIL_FORCEINLINE value_typedata () noexcept
 
LIBCOPP_UTIL_FORCEINLINE const ptr_typeraw_ptr () const noexcept
 
LIBCOPP_UTIL_FORCEINLINE ptr_typeraw_ptr () noexcept
 
LIBCOPP_UTIL_FORCEINLINE void reset () noexcept(noexcept(poll_storage::reset(std::declval< storage_type & >())))
 
LIBCOPP_UTIL_FORCEINLINE void swap (self_type &other) 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) noexcept(noexcept(poll_storage::construct_storage(std::declval< storage_type & >(), std::move(in))))
 
template<class... TARGS>
void setup_from (TARGS &&...args) noexcept(noexcept(poll_storage::construct_storage(std::declval< storage_type & >(), std::forward< TARGS >(args)...)))
 
void setup_from (self_type &&other) noexcept(noexcept(poll_storage::move_storage(std::declval< storage_type & >(), std::move(other.storage_data_))))
 

Private Attributes

storage_type storage_data_
 

Friends

LIBCOPP_UTIL_FORCEINLINE friend void swap (self_type &l, self_type &r) 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 ( )
inlinenoexcept

Definition at line 22 of file poller.h.

◆ ~poller()

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

Definition at line 24 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)
inlinenoexcept

Definition at line 29 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)
inlinenoexcept

Definition at line 34 of file poller.h.

Member Function Documentation

◆ data() [1/2]

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

Definition at line 56 of file poller.h.

◆ data() [2/2]

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

Definition at line 57 of file poller.h.

◆ is_pending()

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

Definition at line 54 of file poller.h.

◆ is_ready()

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

Definition at line 52 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)
inlinenoexcept

Definition at line 39 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)
inlinenoexcept

Definition at line 46 of file poller.h.

◆ raw_ptr() [1/2]

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

Definition at line 59 of file poller.h.

◆ raw_ptr() [2/2]

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

Definition at line 60 of file poller.h.

◆ reset()

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

Definition at line 62 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)
inlineprivatenoexcept

Definition at line 84 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)
inlineprivatenoexcept

Definition at line 73 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)
inlineprivatenoexcept

Definition at line 79 of file poller.h.

◆ swap()

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

Definition at line 65 of file poller.h.

Friends And Related Symbol Documentation

◆ swap

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

Definition at line 68 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 90 of file poller.h.


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