X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FTraits.ih;fp=senf%2FUtils%2FConsole%2FTraits.ih;h=c3d612718de2ea5237e6b3e573cafe569d33694f;hb=a30f975608bae2dcee151af15dc7f40602627615;hp=85213bb8bc27434638453dddea517bd5aa52841f;hpb=a46724f6a51d4b14a2170976405530d0f5aef590;p=senf.git diff --git a/senf/Utils/Console/Traits.ih b/senf/Utils/Console/Traits.ih index 85213bb..c3d6127 100644 --- a/senf/Utils/Console/Traits.ih +++ b/senf/Utils/Console/Traits.ih @@ -28,19 +28,47 @@ // Custom includes #include +#include #include #include #include #include #include #include +#include #include ///////////////////////////////ih.p//////////////////////////////////////// namespace senf { namespace console { + + template struct ArgumentTraits; + template struct ReturnValueTraits; + namespace detail { + + template + struct MatchingShortType + : public boost::mpl::if_c::is_signed,short,unsigned short> + {}; + + template + struct CharArgumentTraits + : public ArgumentTraits::type> + { + typedef ArgumentTraits::type> base; + typedef CharT type; + static void parse(ParseCommandInfo::TokensRange const & tokens, CharT & out); + static std::string description(); + }; + + template + struct CharReturnValueTraits + : public ReturnValueTraits::type> + { + typedef CharT type; + }; #ifndef DOXYGEN struct StringILess