|
template<typename... Ts> |
using | void_t = typename make_void< Ts... >::type |
|
template<template< class... > class Op, class... Args> |
using | is_detected = typename detector< nonesuch, void, Op, Args... >::value |
|
template<template< class... > class Op, class... Args> |
using | is_detected_t = typename detector< nonesuch, void, Op, Args... >::type |
|
template<typename traits_type > |
using | get_type_function = decltype(traits_type::get_type) |
|
template<typename traits_type , typename value_type > |
using | is_get_type_signature = typename std::is_same< get_type_function< traits_type >, json::type(const value_type &)> |
|
template<typename traits_type > |
using | as_object_function = decltype(traits_type::as_object) |
|
template<typename traits_type , typename value_type , typename object_type > |
using | is_as_object_signature = typename std::is_same< as_object_function< traits_type >, object_type(const value_type &)> |
|
template<typename traits_type > |
using | as_array_function = decltype(traits_type::as_array) |
|
template<typename traits_type , typename value_type , typename array_type > |
using | is_as_array_signature = typename std::is_same< as_array_function< traits_type >, array_type(const value_type &)> |
|
template<typename traits_type > |
using | as_string_function = decltype(traits_type::as_string) |
|
template<typename traits_type , typename value_type , typename string_type > |
using | is_as_string_signature = typename std::is_same< as_string_function< traits_type >, string_type(const value_type &)> |
|
template<typename traits_type > |
using | as_number_function = decltype(traits_type::as_number) |
|
template<typename traits_type , typename value_type , typename number_type > |
using | is_as_number_signature = typename std::is_same< as_number_function< traits_type >, number_type(const value_type &)> |
|
template<typename traits_type > |
using | as_integer_function = decltype(traits_type::as_int) |
|
template<typename traits_type , typename value_type , typename integer_type > |
using | is_as_integer_signature = typename std::is_same< as_integer_function< traits_type >, integer_type(const value_type &)> |
|
template<typename traits_type > |
using | as_boolean_function = decltype(traits_type::as_bool) |
|
template<typename traits_type , typename value_type , typename boolean_type > |
using | is_as_boolean_signature = typename std::is_same< as_boolean_function< traits_type >, boolean_type(const value_type &)> |
|
template<typename traits_type > |
using | has_mapped_type = typename traits_type::mapped_type |
|
template<typename traits_type > |
using | has_key_type = typename traits_type::key_type |
|
template<typename traits_type > |
using | has_value_type = typename traits_type::value_type |
|
template<typename object_type > |
using | has_iterator = typename object_type::iterator |
|
template<typename object_type > |
using | has_const_iterator = typename object_type::const_iterator |
|
template<typename object_type > |
using | is_begin_signature = typename std::is_same< decltype(std::declval< object_type >().begin()), has_iterator< object_type > > |
|
template<typename object_type > |
using | is_begin_const_signature = typename std::is_same< decltype(std::declval< const object_type >().begin()), has_const_iterator< object_type > > |
|
template<typename object_type > |
using | is_end_signature = typename std::is_same< decltype(std::declval< object_type >().end()), has_iterator< object_type > > |
|
template<typename object_type > |
using | is_end_const_signature = typename std::is_same< decltype(std::declval< const object_type >().end()), has_const_iterator< object_type > > |
|
template<typename object_type , typename string_type > |
using | is_count_signature = typename std::is_integral< decltype(std::declval< const object_type >().count(std::declval< const string_type >()))> |
|
template<typename object_type , typename value_type , typename string_type > |
using | is_at_const_signature = typename std::is_same< decltype(std::declval< const object_type >().at(std::declval< const string_type >())), const value_type & > |
|
template<typename string_type , typename integer_type > |
using | is_substr_start_end_index_signature = typename std::is_same< decltype(std::declval< string_type >().substr(std::declval< integer_type >(), std::declval< integer_type >())), string_type > |
|
template<typename string_type , typename integer_type > |
using | is_substr_start_index_signature = typename std::is_same< decltype(std::declval< string_type >().substr(std::declval< integer_type >())), string_type > |
|
template<typename string_type > |
using | is_std_operate_plus_signature = typename std::is_same< decltype(std::operator+(std::declval< string_type >(), std::declval< string_type >())), string_type > |
|