diff --git a/src/json.hpp b/src/json.hpp index c849f7f4..b142b3b5 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -523,8 +523,10 @@ struct has_to_json // to_json // ///////////// -template<typename BasicJsonType> -void to_json(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept +template<typename BasicJsonType, typename T, enable_if_t< + std::is_same<typename std::decay<T>::type, + typename BasicJsonType::boolean_t>::value, int> = 0> +void to_json(BasicJsonType& j, T b) noexcept { external_constructor<value_t::boolean>::construct(j, b); } diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c index 2e591919..34b6ec30 100644 --- a/src/json.hpp.re2c +++ b/src/json.hpp.re2c @@ -523,8 +523,10 @@ struct has_to_json // to_json // ///////////// -template<typename BasicJsonType> -void to_json(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept +template<typename BasicJsonType, typename T, enable_if_t< + std::is_same<typename std::decay<T>::type, + typename BasicJsonType::boolean_t>::value, int> = 0> +void to_json(BasicJsonType& j, T b) noexcept { external_constructor<value_t::boolean>::construct(j, b); }