X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FTraits.cti;h=6e777ef493a7d1a07996ab420e8c9852c55456e8;hb=f9d24df84e9dd01127ebeabef977a22e379cb41d;hp=e96392f70417c22a63926f69da0b79e730a20538;hpb=63c40810b93b4d8f3d6dad5f987adc5f2bf5b5ed;p=senf.git diff --git a/Console/Traits.cti b/Console/Traits.cti index e96392f..6e777ef 100644 --- a/Console/Traits.cti +++ b/Console/Traits.cti @@ -23,9 +23,11 @@ /** \file \brief Traits inline template implementation */ -//#include "Traits.ih" +#include "Traits.ih" // Custom includes +#include +#include #include "../Utils/TypeInfo.hh" #define prefix_ inline @@ -38,6 +40,12 @@ template prefix_ void senf::console::ReturnValueTraits::format(Type const & value, std::ostream & os) { + senf_console_format_value(value, os); +} + +template +prefix_ void senf::console::senf_console_format_value(Type const & value, std::ostream & os) +{ os << value; } @@ -48,6 +56,14 @@ template prefix_ void senf::console::ArgumentTraits:: parse(ParseCommandInfo::TokensRange const & tokens, Type & out) { + senf_console_parse_argument(tokens,out); +} + +template +prefix_ void +senf::console::senf_console_parse_argument(ParseCommandInfo::TokensRange const & tokens, + Type & out) +{ if (tokens.size() != 1) throw SyntaxErrorException("parameter syntax error"); @@ -70,7 +86,9 @@ prefix_ std::string senf::console::ArgumentTraits::description() template prefix_ std::string senf::console::ArgumentTraits::str(Type const & value) { - return boost::lexical_cast(value); + std::stringstream ss; + senf::console::ReturnValueTraits::format(value, ss); + return ss.str(); } ///////////////////////////////cti.e///////////////////////////////////////