|
template<class T > |
using | util::c_ptr = safe_ptr<T, c_free<T>> |
|
template<class T , void(**)(T *) function> |
using | util::dyn_safe_ptr = safe_ptr<T, dynamic<T, void, function>> |
|
template<class T , class ReturnType , ReturnType(**)(T *) function> |
using | util::dyn_safe_ptr_v2 = safe_ptr<T, dynamic<T, ReturnType, function>> |
|
template<bool V, class X , class Y > |
using | util::either_t = typename __either<V, X, Y>::type |
|
template<class T > |
using | util::optional_t |
|
template<class T , typename Function< void, T * >::type function> |
using | util::safe_ptr = uniq_ptr<T, Destroy<T *, void, function>> |
|
template<class T , class ReturnType , typename Function< ReturnType, T * >::type function> |
using | util::safe_ptr_v2 = uniq_ptr<T, Destroy<T *, ReturnType, function>> |
|
template<class P > |
using | util::shared_t = std::shared_ptr<typename P::element_type> |
|
|
template<class T > |
void | util::append_struct (std::vector< uint8_t > &buf, const T &_struct) |
|
template<class T > |
auto | util::endian::big (T x) |
|
template<class T > |
void | util::c_free (T *p) |
|
template<class T , class ReturnType , ReturnType(**)(T *) function> |
void | util::dynamic (T *p) |
|
template<class T > |
T | util::either (std::optional< T > &&l, T &&r) |
|
template<class T > |
auto | util::enm (const T &val) -> const std::underlying_type_t< T > & |
|
template<class T > |
auto | util::enm (T &val) -> std::underlying_type_t< T > & |
|
template<class T > |
auto | util::fail_guard (T &&f) |
|
std::int64_t | util::from_chars (const char *begin, const char *end) |
|
template<class T > |
T | util::from_hex (const std::string_view &hex, bool rev=false) |
|
std::string | util::from_hex_vec (const std::string &hex, bool rev=false) |
|
std::int64_t | util::from_view (const std::string_view &number) |
|
template<class T > |
Hex< T > | util::hex (const T &elem, bool rev=false) |
|
template<class C > |
std::string | util::hex_vec (C &&c, bool rev=false) |
|
template<class It > |
std::string | util::hex_vec (It begin, It end, bool rev=false) |
|
template<class T > |
auto | util::endian::little (T x) |
|
template<typename T > |
std::string | util::log_hex (const T &value) |
|
template<class P , class T > |
shared_t< P > | util::make_shared (T *pointer) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator!= (const std::unique_ptr< T1, D1 > &x, const uniq_ptr< T2, D2 > &y) |
|
template<class T , class D > |
bool | util::operator!= (const uniq_ptr< T, D > &x, std::nullptr_t) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator!= (const uniq_ptr< T1, D1 > &x, const std::unique_ptr< T1, D1 > &y) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator!= (const uniq_ptr< T1, D1 > &x, const uniq_ptr< T2, D2 > &y) |
|
template<class T , class D > |
bool | util::operator!= (std::nullptr_t, const uniq_ptr< T, D > &y) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator== (const std::unique_ptr< T1, D1 > &x, const uniq_ptr< T2, D2 > &y) |
|
template<class T , class D > |
bool | util::operator== (const uniq_ptr< T, D > &x, std::nullptr_t) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator== (const uniq_ptr< T1, D1 > &x, const std::unique_ptr< T1, D1 > &y) |
|
template<class T1 , class D1 , class T2 , class D2 > |
bool | util::operator== (const uniq_ptr< T1, D1 > &x, const uniq_ptr< T2, D2 > &y) |
|
template<class T , class D > |
bool | util::operator== (std::nullptr_t, const uniq_ptr< T, D > &y) |
|
template<class... Ts> |
| util::overloaded (Ts...) -> overloaded< Ts... > |
|
template<class T > |
std::string_view | util::view (const T &data) |
|
template<class It > |
std::string_view | util::view (It begin, It end) |
|
Declarations for utility functions.