The utility definitions to be used throughout the library. More...
Subcategories | |
Byte order conversion | |
Network-related structures initialization | |
Dealing with type lists and parameter packs | |
Classes | |
struct | uv::default_delete< _T_ > |
The analogue of the std::default_delete . More... | |
struct | uv::default_destroy< _T_ > |
The analogue of the uv::default_delete but for the type destructor only. More... | |
struct | uv::is_one_of< _T_, _Ts_ > |
Checks if a type _T_ belongs to a type list _Ts_ . More... | |
class | uv::ref_count |
A reference counter with atomic increment/decrement. More... | |
struct | uv::adopt_ref_t |
The type of the adopt_ref constant. More... | |
class | uv::ref_guard< _T_ > |
A scoped reference counting guard. More... | |
class | uv::spinlock |
A simple spinlock mutex built around std::atomic_flag . More... | |
class | uv::aligned_storage< _LEN_, _ALIGN_ > |
A wrapper around std::aligned_storage< _LEN_, _ALIGN_ >::type that simplifies initializing the provided storage space, getting from it, setting it to, and automatic destroying it from objects of any type fitting to the given size and alignment requirements. More... | |
class | uv::type_storage< _T_ > |
A wrapper providing the feature of being a standard layout type for the given type _T_ . More... | |
class | uv::union_storage< _Ts_ > |
A tagged union that provide a storage space being a standard layout type suited for all its type variants specified in the type list _Ts_ . More... | |
class | uv::any_ptr |
The analogue of std::unique_ptr that managed object type is not defined at compile time and can be varied. More... | |
Typedefs | |
template<typename... _Ts_> | |
using | uv::aligned_union = std::aligned_storage< greatest(sizeof(_Ts_)...), greatest(alignof(_Ts_)...) > |
A mimic of STL's std::aligned_union missed in gcc 4.9.2. | |
Variables | |
constexpr const adopt_ref_t | uv::adopt_ref |
The tag to be used to prevent ref_guard constructor from increasing reference count of the protected object. | |
The utility definitions to be used throughout the library.