libcopp  2.2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
future::result_base< TOK, TERR, true > Class Template Reference

#include <storage.h>

Collaboration diagram for future::result_base< TOK, TERR, true >:
Collaboration graph

Public Types

enum  mode_type { EN_RESULT_SUCCESS = 0 , EN_RESULT_ERROR = 1 }
 
using success_type = TOK
 
using error_type = TERR
 

Public Member Functions

UTIL_FORCEINLINE bool is_success () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE bool is_error () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE const success_typeget_success () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE success_typeget_success () LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE const error_typeget_error () const LIBCOPP_MACRO_NOEXCEPT
 
UTIL_FORCEINLINE error_typeget_error () LIBCOPP_MACRO_NOEXCEPT
 

Private Member Functions

template<class TARGS >
UTIL_FORCEINLINE void construct_success (TARGS &&args) LIBCOPP_MACRO_NOEXCEPT
 
template<class TARGS >
UTIL_FORCEINLINE void construct_error (TARGS &&args) LIBCOPP_MACRO_NOEXCEPT
 
template<class TARGS >
UTIL_FORCEINLINE void make_success_base (TARGS &&args) LIBCOPP_MACRO_NOEXCEPT
 
template<class TARGS >
UTIL_FORCEINLINE void make_error_base (TARGS &&args) LIBCOPP_MACRO_NOEXCEPT
 
void swap (result_base &other) LIBCOPP_MACRO_NOEXCEPT
 

Private Attributes

union future::result_base< TOK, TERR, true >:: { ... }  
 
mode_type mode_
 

Friends

template<class UOK , class UERR >
class result_type
 
template<class TRESULT , bool >
struct _make_result_instance_helper
 
UTIL_FORCEINLINE friend void swap (result_base &l, result_base &r) LIBCOPP_MACRO_NOEXCEPT
 

Detailed Description

template<class TOK, class TERR>
class future::result_base< TOK, TERR, true >

Definition at line 384 of file storage.h.

Member Typedef Documentation

◆ error_type

template<class TOK , class TERR >
using future::result_base< TOK, TERR, true >::error_type = TERR

Definition at line 387 of file storage.h.

◆ success_type

template<class TOK , class TERR >
using future::result_base< TOK, TERR, true >::success_type = TOK

Definition at line 386 of file storage.h.

Member Enumeration Documentation

◆ mode_type

template<class TOK , class TERR >
enum future::result_base< TOK, TERR, true >::mode_type
Enumerator
EN_RESULT_SUCCESS 
EN_RESULT_ERROR 

Definition at line 388 of file storage.h.

Member Function Documentation

◆ construct_error()

template<class TOK , class TERR >
template<class TARGS >
UTIL_FORCEINLINE void future::result_base< TOK, TERR, true >::construct_error ( TARGS &&  args)
inlineprivate

Definition at line 419 of file storage.h.

◆ construct_success()

template<class TOK , class TERR >
template<class TARGS >
UTIL_FORCEINLINE void future::result_base< TOK, TERR, true >::construct_success ( TARGS &&  args)
inlineprivate

Definition at line 414 of file storage.h.

◆ get_error() [1/2]

template<class TOK , class TERR >
UTIL_FORCEINLINE const error_type* future::result_base< TOK, TERR, true >::get_error ( ) const
inline

Definition at line 402 of file storage.h.

◆ get_error() [2/2]

template<class TOK , class TERR >
UTIL_FORCEINLINE error_type* future::result_base< TOK, TERR, true >::get_error ( )
inline

Definition at line 405 of file storage.h.

◆ get_success() [1/2]

template<class TOK , class TERR >
UTIL_FORCEINLINE const success_type* future::result_base< TOK, TERR, true >::get_success ( ) const
inline

Definition at line 396 of file storage.h.

◆ get_success() [2/2]

template<class TOK , class TERR >
UTIL_FORCEINLINE success_type* future::result_base< TOK, TERR, true >::get_success ( )
inline

Definition at line 399 of file storage.h.

◆ is_error()

template<class TOK , class TERR >
UTIL_FORCEINLINE bool future::result_base< TOK, TERR, true >::is_error ( ) const
inline

Definition at line 394 of file storage.h.

◆ is_success()

template<class TOK , class TERR >
UTIL_FORCEINLINE bool future::result_base< TOK, TERR, true >::is_success ( ) const
inline

Definition at line 393 of file storage.h.

◆ make_error_base()

template<class TOK , class TERR >
template<class TARGS >
UTIL_FORCEINLINE void future::result_base< TOK, TERR, true >::make_error_base ( TARGS &&  args)
inlineprivate

Definition at line 430 of file storage.h.

◆ make_success_base()

template<class TOK , class TERR >
template<class TARGS >
UTIL_FORCEINLINE void future::result_base< TOK, TERR, true >::make_success_base ( TARGS &&  args)
inlineprivate

Definition at line 424 of file storage.h.

◆ swap()

template<class TOK , class TERR >
void future::result_base< TOK, TERR, true >::swap ( result_base< TOK, TERR, true > &  other)
inlineprivate

Definition at line 435 of file storage.h.

References util::swap().

Friends And Related Function Documentation

◆ _make_result_instance_helper

template<class TOK , class TERR >
template<class TRESULT , bool >
friend struct _make_result_instance_helper
friend

Definition at line 411 of file storage.h.

◆ result_type

template<class TOK , class TERR >
template<class UOK , class UERR >
friend class result_type
friend

Definition at line 409 of file storage.h.

◆ swap

template<class TOK , class TERR >
UTIL_FORCEINLINE friend void swap ( result_base< TOK, TERR, true > &  l,
result_base< TOK, TERR, true > &  r 
)
friend

Definition at line 445 of file storage.h.

Field Documentation

◆ 

union { ... }

◆ error_data_

template<class TOK , class TERR >
error_type future::result_base< TOK, TERR, true >::error_data_

Definition at line 450 of file storage.h.

◆ mode_

template<class TOK , class TERR >
mode_type future::result_base< TOK, TERR, true >::mode_
private

Definition at line 452 of file storage.h.

◆ success_data_

template<class TOK , class TERR >
success_type future::result_base< TOK, TERR, true >::success_data_

Definition at line 449 of file storage.h.


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