Skip to content

Commit

Permalink
Revert "Fixup c57a175"
Browse files Browse the repository at this point in the history
This reverts commit 9d0c70fb4861cec7a9f46443f1e59c5ace6ada5d.

That commit was wrong.
std::is_same<char, std::remove_const_t<std::remove_pointer_t<From>>>::value
is not equivalent to
boost::mpl::has_key<boost::mpl::set<char*, const char*> , From>::value
because the former is true not just for 'char*' and 'const char*' but
also for 'char'.

(cherry-picked from commit eacbc5f)
  • Loading branch information
jostephd authored and irydacea committed Oct 7, 2018
1 parent 1a41e8f commit c35ab93
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<std::remove_pointer_t<From>>>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_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<std::remove_pointer_t<From>>>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_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<std::remove_pointer_t<From>>>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_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<std::remove_pointer_t<From>>>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_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<std::remove_pointer_t<From>>>::value>
, std::enable_if_t<std::is_same<char*, std::remove_const_t<From>>::value>
>
{
To operator()(From value, boost::optional<To> fallback) const
Expand Down

0 comments on commit c35ab93

Please sign in to comment.