diff --git a/research/try.cpp b/research/try.cpp index 643d3a728..1a3dbefc4 100644 --- a/research/try.cpp +++ b/research/try.cpp @@ -112,21 +112,30 @@ stringz (P ptr) namespace { using lib::meta::Strip; - using std::__or_; - using std::__and_; + using std::is_convertible; + using std::is_arithmetic; + using std::is_same; using std::__not_; + using std::__and_; + using std::__or_; template struct is_basically - : std::is_same ::TypeReferred - ,typename Strip::TypeReferred> + : is_same ::TypeReferred + ,typename Strip::TypeReferred> + { }; + + template + struct is_StringLike + : __or_< is_basically + , is_convertible + > { }; template struct can_lexical2string - : __or_< std::is_arithmetic - , is_basically - , is_basically::type, char> + : __or_< is_arithmetic + , is_StringLike > { }; }