![]()  | 
  
    D++ (DPP)
    
   C++ Discord API Bot Library 
   | 
 
Implementation details for internal use only. More...
Namespaces | |
| namespace | async | 
| namespace | coroutine | 
| namespace | event_router | 
| Internal cogwheels for dpp::event_router_t.  | |
| namespace | job | 
| namespace | promise | 
| namespace | std_coroutine | 
| Alias for either std or std::experimental depending on compiler and library. Used by coroutine implementation.  | |
| namespace | task | 
| namespace | when_any | 
| Internal cogwheels for dpp::when_any.  | |
Classes | |
| struct | wrapped_ssl_ctx | 
| This class wraps a raw SSL_CTX pointer, managing moving, creation, and RAII destruction.  More... | |
Typedefs | |
| template<typename T > | |
| using | awaitable_result = decltype(co_await_resolve(std::declval< T >()).await_resume()) | 
| Convenience alias for the result of a certain awaitable's await_resume.  More... | |
Functions | |
| decltype(auto) | co_await_resolve (auto &&expr) | 
Mimics the compiler's behavior of using co_await. That is, it returns whichever works first, in order : expr.operator co_await(); > operator co_await(expr) > expr  More... | |
| DPP_EXPORT wrapped_ssl_ctx * | generate_ssl_context (uint16_t port=0, const std::string &private_key="", const std::string &public_key="") | 
| Generate a new wrapped SSL context. If an SSL context already exists for the given port number, it will be returned, else a new one will be generated and cached. Contexts with port = 0 will be considered client contexts. There can only be one client context at a time and it covers all SSL client connections. There can be many SSL server contexts, individual ones can be cached per-port, each with their own loaded SSL private and public key PEM certificate.  More... | |
| DPP_EXPORT void | release_ssl_context (uint16_t port=0) | 
| Release an SSL context.  More... | |
Variables | |
| template<typename T > | |
| constexpr bool | awaitable_type | 
| Concept to check if a type can be used with co_await.  More... | |
| template<typename T > | |
| constexpr bool | has_await_members | 
Concept to check if a type has useable await_ready(), await_suspend() and await_resume() member functions.  More... | |
| template<typename T > | |
| constexpr bool | has_co_await_member | 
Concept to check if a type has a useable operator co_await() member.  More... | |
| template<typename T > | |
| constexpr bool | has_free_co_await | 
Concept to check if a type has a useable overload of the free function operator co_await(expr)  More... | |
Implementation details for internal use only.
| using dpp::detail::awaitable_result = typedef decltype(co_await_resolve(std::declval<T>()).await_resume()) | 
Convenience alias for the result of a certain awaitable's await_resume.
| decltype(auto) dpp::detail::co_await_resolve | ( | auto && | expr | ) | 
Mimics the compiler's behavior of using co_await. That is, it returns whichever works first, in order : expr.operator co_await(); > operator co_await(expr) > expr 
This function is conditionally noexcept, if the returned expression also is.
| DPP_EXPORT wrapped_ssl_ctx * dpp::detail::generate_ssl_context | ( | uint16_t | port = 0,  | 
        
| const std::string & | private_key = "",  | 
        ||
| const std::string & | public_key = ""  | 
        ||
| ) | 
Generate a new wrapped SSL context. If an SSL context already exists for the given port number, it will be returned, else a new one will be generated and cached. Contexts with port = 0 will be considered client contexts. There can only be one client context at a time and it covers all SSL client connections. There can be many SSL server contexts, individual ones can be cached per-port, each with their own loaded SSL private and public key PEM certificate.
| port | Port number. Pass zero to create or get the client context. | 
| private_key | Private key PEM pathname for server contexts | 
| public_key | Public key PEM pathname for server contexts | 
| DPP_EXPORT void dpp::detail::release_ssl_context | ( | uint16_t | port = 0 | ) | 
Release an SSL context.
| port | port number to release | 
      
  | 
  inlineconstexpr | 
Concept to check if a type can be used with co_await.
      
  | 
  inlineconstexpr | 
Concept to check if a type has useable await_ready(), await_suspend() and await_resume() member functions. 
      
  | 
  inlineconstexpr | 
Concept to check if a type has a useable operator co_await() member. 
      
  | 
  inlineconstexpr | 
Concept to check if a type has a useable overload of the free function operator co_await(expr)