Skip to content

Commit

Permalink
Fixup c57a175
Browse files Browse the repository at this point in the history
Turns out remove_const alone only removes the const from the pointer, not from the type
itself, so the expression wasn't returning true. This strips the pointer out before removing
const and matches against char instead of char*

(cherry-picked from commit a7e1ff8)
  • Loading branch information
Vultraz committed Oct 7, 2018
1 parent 872d1a9 commit 1a41e8f
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/lexical_cast.hpp
Expand Up @@ -193,7 +193,7 @@ struct lexical_caster<
long long
, From
, void
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
, std::enable_if_t<std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value>
>
{
long long operator()(From value, boost::optional<long long> fallback) const
Expand Down Expand Up @@ -249,7 +249,7 @@ struct lexical_caster<
To
, From
, std::enable_if_t<std::is_integral<To>::value && std::is_signed<To>::value && !std::is_same<To, long long>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
, std::enable_if_t<std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value>
>
{
To operator()(From value, boost::optional<To> fallback) const
Expand Down Expand Up @@ -307,7 +307,7 @@ struct lexical_caster<
To
, From
, std::enable_if_t<std::is_floating_point<To>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
, std::enable_if_t<std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value>
>
{
To operator()(From value, boost::optional<To> fallback) const
Expand Down Expand Up @@ -376,7 +376,7 @@ struct lexical_caster<
unsigned long long
, From
, void
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
, std::enable_if_t<std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value>
>
{
unsigned long long operator()(From value, boost::optional<unsigned long long> fallback) const
Expand Down Expand Up @@ -433,7 +433,7 @@ struct lexical_caster<
To
, From
, std::enable_if_t<std::is_unsigned<To>::value && !std::is_same<To, unsigned long long>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
, std::enable_if_t<std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value>
>
{
To operator()(From value, boost::optional<To> fallback) const
Expand Down

0 comments on commit 1a41e8f

Please sign in to comment.