|
ZeroErr
|
#include "zeroerr/internal/config.h"#include <ostream>#include <sstream>#include <string>#include <tuple>#include <type_traits>#include <complex>#include <memory>

命名空间 | |
| namespace | zeroerr |
| namespace | zeroerr::detail |
宏定义 | |
| #define | ZEROERR_STRING_VIEW 0 |
| #define | ZEROERR_ENABLE_IF(x) |
| #define | ZEROERR_IS_INT std::is_integral<T>::value |
| #define | ZEROERR_IS_FLOAT std::is_floating_point<T>::value |
| #define | ZEROERR_IS_CONTAINER detail::is_container<T>::value |
| #define | ZEROERR_IS_STRING detail::is_string<T>::value |
| #define | ZEROERR_IS_POINTER std::is_pointer<T>::value |
| #define | ZEROERR_IS_CHAR std::is_same<T, char>::value |
| #define | ZEROERR_IS_WCHAR std::is_same<T, wchar_t>::value |
| #define | ZEROERR_IS_CLASS std::is_class<T>::value |
| #define | ZEROERR_IS_STREAMABLE detail::is_streamable<std::ostream, T>::value |
| #define | ZEROERR_IS_ARRAY detail::is_array<T>::value |
| #define | ZEROERR_IS_COMPLEX detail::is_specialization<T, std::complex>::value |
| #define | ZEROERR_IS_BOOL std::is_same<T, bool>::value |
| #define | ZEROERR_IS_AUTOPTR |
| #define | ZEROERR_IS_MAP detail::ele_type_is_pair<T>::value |
| #define | ZEROERR_IS_POD std::is_standard_layout<T>::value |
| #define | ZEROERR_IS_EXT detail::has_extension<T>::value |
类型定义 | |
| template<typename... Ts> | |
| using | zeroerr::detail::void_t = void |
| template<typename S , typename T > | |
| using | zeroerr::detail::has_stream_operator = void_t< decltype(std::declval< S & >()<< std::declval< T >())> |
| template<typename T > | |
| using | zeroerr::detail::has_begin_end = void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())> |
| template<typename T > | |
| using | zeroerr::detail::has_begin_end_find_insert = void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end()), decltype(std::declval< T >().find(std::declval< typename T::key_type >())), decltype(std::declval< T >().insert(std::declval< typename T::value_type >()))> |
| template<typename T > | |
| using | zeroerr::detail::has_pair_type = void_t< typename T::value_type, decltype(std::declval< typename T::value_type >().first), decltype(std::declval< typename T::value_type >().second)> |
| template<typename T > | |
| using | zeroerr::detail::is_not_array = typename std::enable_if<!std::is_array< T >::value >::type |
| template<typename T > | |
| using | zeroerr::detail::to_store_type_t = typename to_store_type< T >::type |
函数 | |
| template<typename F , typename... Ts> | |
| void | zeroerr::detail::visit_at (const std::tuple< Ts... > &tup, size_t idx, F &&fun) |
| template<typename F , typename... Ts> | |
| void | zeroerr::detail::visit_at (std::tuple< Ts... > &tup, size_t idx, F &&fun) |
| template<typename F , typename... Ts, typename... T2s> | |
| void | zeroerr::detail::visit2_at (const std::tuple< Ts... > &tup1, const std::tuple< T2s... > &tup2, size_t idx, F &&fun) |
| template<typename F , typename... Ts, typename... T2s> | |
| void | zeroerr::detail::visit2_at (std::tuple< Ts... > &tup1, std::tuple< T2s... > &tup2, size_t idx, F &&fun) |
| template<typename F , typename... Ts, typename... T2s> | |
| void | zeroerr::detail::visit2_at (const std::tuple< Ts... > &tup1, std::tuple< T2s... > &tup2, size_t idx, F &&fun) |
| template<typename F , typename... Ts, typename... T2s> | |
| void | zeroerr::detail::visit2_at (std::tuple< Ts... > &tup1, const std::tuple< T2s... > &tup2, size_t idx, F &&fun) |
| #define ZEROERR_ENABLE_IF | ( | x | ) |
| #define ZEROERR_IS_ARRAY detail::is_array<T>::value |
| #define ZEROERR_IS_AUTOPTR |
| #define ZEROERR_IS_BOOL std::is_same<T, bool>::value |
| #define ZEROERR_IS_CHAR std::is_same<T, char>::value |
| #define ZEROERR_IS_CLASS std::is_class<T>::value |
| #define ZEROERR_IS_COMPLEX detail::is_specialization<T, std::complex>::value |
| #define ZEROERR_IS_CONTAINER detail::is_container<T>::value |
| #define ZEROERR_IS_EXT detail::has_extension<T>::value |
| #define ZEROERR_IS_FLOAT std::is_floating_point<T>::value |
| #define ZEROERR_IS_INT std::is_integral<T>::value |
| #define ZEROERR_IS_MAP detail::ele_type_is_pair<T>::value |
| #define ZEROERR_IS_POD std::is_standard_layout<T>::value |
| #define ZEROERR_IS_POINTER std::is_pointer<T>::value |
| #define ZEROERR_IS_STREAMABLE detail::is_streamable<std::ostream, T>::value |
| #define ZEROERR_IS_STRING detail::is_string<T>::value |
| #define ZEROERR_IS_WCHAR std::is_same<T, wchar_t>::value |
| #define ZEROERR_STRING_VIEW 0 |