diff --git a/include/json.hpp b/include/json.hpp index 23f0005..8cc0001 100644 --- a/include/json.hpp +++ b/include/json.hpp @@ -108,21 +108,18 @@ class basic_value basic_value(value_type type, args_t&&... args); template ::value_type, - typename std::iterator_traits::value_type>, - bool> = true> + std::enable_if_t::value_type, + utils::range_value_t>, + bool> = true> basic_value(collection_t&& collection) : basic_value(basic_array(std::forward(collection))) {} - template < - typename map_t, - std::enable_if_t::value_type, - typename std::iterator_traits::value_type>, - bool> = true> + template ::value_type, + utils::range_value_t>, + bool> = true> basic_value(map_t&& map) : basic_value(basic_object(std::forward(map))) {} - template >>> + template >, bool> = true> basic_value(value_t) = delete; // I don't know if you want to convert char to string or number, so I delete these constructors.