libcopp  2.2.0
Data Structures | Namespaces | Functions | Variables
storage.h File Reference
#include <libcopp/utils/config/libcopp_build_features.h>
#include <libcopp/utils/std/coroutine.h>
#include <libcopp/utils/std/explicit_declare.h>
#include <libcopp/utils/std/type_traits.h>
#include <libcopp/utils/features.h>
#include <libcopp/utils/config/stl_include_prefix.h>
#include <cstring>
#include <functional>
#include <memory>
#include <libcopp/utils/config/stl_include_suffix.h>
Include dependency graph for storage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  future::small_object_optimize_storage_deleter< T >
 
struct  future::poll_storage_ptr_selector< void >
 
struct  future::poll_storage_ptr_selector< T >
 
struct  future::compact_storage_selector< void >
 
struct  future::compact_storage_selector< T >
 
struct  future::poll_storage_base< void, std::unique_ptr< void, small_object_optimize_storage_deleter< void > > >
 
struct  future::poll_storage_base< T, std::unique_ptr< T, small_object_optimize_storage_deleter< T > > >
 
struct  future::poll_storage_base< T, TPTR >
 
struct  future::compact_storage< T, std::unique_ptr< T, small_object_optimize_storage_deleter< T > > >
 
struct  future::compact_storage< T, std::shared_ptr< T > >
 
struct  future::default_compact_storage< T >
 
class  future::result_base< TOK, TERR, true >
 
class  future::result_base< TOK, TERR, false >
 
struct  future::_make_result_instance_helper< TRESULT, false >
 
struct  future::_make_result_instance_helper< TRESULT, true >
 
class  future::result_type< TOK, TERR >
 

Namespaces

 future
 

Functions

template<class T , class... TARGS, typename std::enable_if<!std::is_array< T >::value, int >::type = 0>
EXPLICIT_NODISCARD_ATTR std::unique_ptr< T > future::make_unique (TARGS &&...args)
 
template<class T , typename std::enable_if< std::is_array< T >::value &&std::extent< T >::value==0, int >::type = 0>
EXPLICIT_NODISCARD_ATTR std::unique_ptr< T > future::make_unique (size_t sz)
 
template<class T , class... TARGS, typename std::enable_if< std::extent< T >::value !=0, int >::type = 0>
void future::make_unique (TARGS &&...)=delete
 

Variables

template<class T >
struct LIBCOPP_COPP_API_HEAD_ONLY future::poll_storage_ptr_selector
 
template<class T >
struct LIBCOPP_COPP_API_HEAD_ONLY future::compact_storage_selector
 
template<class T , class TPTR >
struct LIBCOPP_COPP_API_HEAD_ONLY future::poll_storage_base
 
template<class T , class TPTR >
struct LIBCOPP_COPP_API_HEAD_ONLY future::compact_storage
 
template<class TOK , class TERR , bool is_all_trivial>
class LIBCOPP_COPP_API_HEAD_ONLY future::result_base
 
template<class TRESULT , bool >
struct LIBCOPP_COPP_API_HEAD_ONLY future::_make_result_instance_helper