|
|
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.