|
| struct | zeroerr::rank< N > |
| | rank is a helper class for Printer to define the priority of overloaded functions. 更多...
|
| |
| struct | zeroerr::rank< 0 > |
| |
| struct | zeroerr::detail::always_false< T > |
| |
| struct | zeroerr::detail::always_true< T > |
| |
| struct | zeroerr::detail::seq<... > |
| |
| struct | zeroerr::detail::gen_seq< N, Is > |
| |
| struct | zeroerr::detail::gen_seq< 0, Is... > |
| |
| struct | zeroerr::detail::is_specialization< Test, Ref > |
| |
| struct | zeroerr::detail::is_specialization< Ref< Args... >, Ref > |
| |
| struct | zeroerr::detail::is_streamable< S, T, typename > |
| |
| struct | zeroerr::detail::is_streamable< S, T, has_stream_operator< S, T > > |
| |
| struct | zeroerr::detail::is_container< T, typename > |
| |
| struct | zeroerr::detail::is_container< T, has_begin_end< T > > |
| |
| struct | zeroerr::detail::is_associative_container< T, typename > |
| |
| struct | zeroerr::detail::is_associative_container< T, has_begin_end_find_insert< T > > |
| |
| struct | zeroerr::detail::is_string_like< T, typename > |
| |
| struct | zeroerr::detail::is_string_like< T, void_t< typename T::traits_type::char_type, decltype(std::declval< const T & >().data()), decltype(std::declval< const T & >().size())> > |
| |
| struct | zeroerr::detail::is_string_like< zeroerr::String > |
| |
| struct | zeroerr::detail::is_string< T > |
| |
| struct | zeroerr::detail::is_complex< T, typename > |
| |
| struct | zeroerr::detail::is_complex< T, void_t< decltype(std::declval< const T & >().real()), decltype(std::declval< const T & >().imag())> > |
| |
| struct | zeroerr::detail::is_pointer_like< T, typename > |
| |
| struct | zeroerr::detail::is_pointer_like< T, void_t< decltype(std::declval< const T & >().get())> > |
| |
| struct | zeroerr::detail::is_weak_pointer_like< T, typename > |
| |
| struct | zeroerr::detail::is_weak_pointer_like< T, void_t< decltype(std::declval< const T & >().lock())> > |
| |
| struct | zeroerr::detail::has_tuple_get< T, Sequence, typename > |
| |
| struct | zeroerr::detail::has_tuple_get< T, seq< I... >, void_t< decltype(tuple_get< I >(std::declval< const T & >()))... > > |
| |
| struct | zeroerr::detail::is_tuple_like< T, typename > |
| |
| struct | zeroerr::detail::is_tuple_like< T, void_t< decltype(std::tuple_size< T >::value)> > |
| |
| struct | zeroerr::detail::is_complete_type< T, typename > |
| |
| struct | zeroerr::detail::is_complete_type< T, decltype(void(sizeof(T)))> |
| |
| struct | zeroerr::detail::is_indexable_non_pointer< T, typename > |
| |
| struct | zeroerr::detail::is_indexable_non_pointer< T, void_t< decltype(std::declval< const T & >()[0])> > |
| |
| struct | zeroerr::detail::is_array_dispatch< T, bool > |
| |
| struct | zeroerr::detail::is_array_dispatch< T, true > |
| |
| struct | zeroerr::detail::is_array< T > |
| |
| struct | zeroerr::detail::is_modifiable< T, typename > |
| |
| struct | zeroerr::detail::is_modifiable< T, void_t< decltype(T().begin(), T().end(), T().size(), T().insert(T().end(), std::declval< typename T::value_type >()), T().erase(T().begin()),(void) 0)> > |
| |
| struct | zeroerr::detail::ele_type_is_pair< T, typename > |
| |
| struct | zeroerr::detail::ele_type_is_pair< T, has_pair_type< T > > |
| |
| struct | zeroerr::detail::to_store_type< T, V > |
| |
| struct | zeroerr::detail::to_store_type< const char * > |
| |
| struct | zeroerr::detail::to_store_type< const char(&)[]> |
| |
| struct | zeroerr::detail::to_store_type< T &, is_not_array< T > > |
| |
| struct | zeroerr::detail::to_store_type< T && > |
| |
| struct | zeroerr::detail::visit_impl< I > |
| |
| struct | zeroerr::detail::visit_impl< 0 > |
| |
| struct | zeroerr::detail::visit2_impl< I > |
| |
| struct | zeroerr::detail::visit2_impl< 0 > |
| |
|
| 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< const T & >())> |
| |
| template<typename T > |
| using | zeroerr::detail::has_begin_end = void_t< decltype(std::declval< const T & >().begin()), decltype(std::declval< const T & >().end()), decltype(*std::declval< decltype(std::declval< const T & >().begin())& >()), decltype(++std::declval< decltype(std::declval< const T & >().begin())& >()), decltype(std::declval< const T & >().begin() !=std::declval< const T & >().end()), decltype(std::declval< const T & >().begin()==std::declval< const 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< decltype((*std::declval< const T & >().begin()).first), decltype((*std::declval< const T & >().begin()).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 |
| |