uvco 0.1
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
internal_utils.h File Reference
#include <boost/assert.hpp>
#include <fmt/core.h>
#include <string_view>
#include <uv.h>
#include <uv/unix.h>
#include <concepts>
#include <cstddef>
#include <string>
#include <utility>
Include dependency graph for internal_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uvco::UvHandleDeleter
 
class  uvco::RefCounted< T >
 
class  uvco::LifetimeTracker< T >
 
class  uvco::FlagGuard
 
class  uvco::ZeroAtExit< T >
 

Namespaces

namespace  uvco
 

Typedefs

using uvco::uv_status = int
 Result of a libuv operation, an errno error code.
 

Functions

void uvco::allocator (uv_handle_t *, size_t sugg, uv_buf_t *buf)
 libuv allocator.
 
void uvco::freeUvBuf (const uv_buf_t *buf)
 
template<typename R , typename F >
requires std::is_invocable_r_v<R, F, std::string_view>
uvco::callWithNullTerminated (std::string_view view, F &&f)
 
template<typename Into , typename Handle >
Into * uvco::getData (const Handle *handle)
 
template<typename Into , typename Request >
Into * uvco::getRequestData (const Request *req)
 
template<typename Handle , typename Data >
void uvco::setData (Handle *handle, Data *data)
 
template<typename Request , typename Data >
void uvco::setRequestData (Request *req, Data *data)
 
template<typename Handle >
bool uvco::dataIsNull (Handle *handle)
 
template<typename Request >
bool uvco::requestDataIsNull (Request *req)
 
template<typename T , typename... Args>
requires std::derived_from<T, RefCounted<T>>
T * uvco::makeRefCounted (Args... args)
 Create a new refcounted value. T must derive from RefCounted<T>.