ZeroErr
|
#include "zeroerr/internal/config.h"
#include <ostream>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
Go to the source code of this file.
Namespaces | |
zeroerr | |
zeroerr::detail | |
Macros | |
#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 |
Typedefs | |
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 |
Functions | |
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 |