X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FParsedCommand.ih;h=c2d887baa58bf4ee8d1c8c3ac5295353171bd74a;hb=fe92380af7b511d398290e4ab0c535025006b57b;hp=d4a89f83207a670ecedc012d9e5a141963695043;hpb=81a550d520e8531b7f353e1ce0da5b99c249cecb;p=senf.git diff --git a/Console/ParsedCommand.ih b/Console/ParsedCommand.ih index d4a89f8..c2d887b 100644 --- a/Console/ParsedCommand.ih +++ b/Console/ParsedCommand.ih @@ -35,6 +35,17 @@ namespace senf { namespace console { + + template < class FunctionTraits, + class ReturnType=typename FunctionTraits::result_type, + unsigned arity=FunctionTraits::arity > + class ParsedCommandOverload; + + template < class Overload, + unsigned index=0, + bool flag=(index < unsigned(Overload::traits::arity)) > + class ParsedArgumentAttributor; + namespace detail { #ifndef DOXYGEN @@ -90,10 +101,10 @@ namespace detail { struct ParsedCommandTraits {}; - template - struct ParsedCommandTraits + template + struct ParsedCommandTraits { - typedef Function base_type; + typedef Fn base_type; typedef typename senf::remove_any_pointer::type function_type; typedef boost::function_traits base_traits; typedef typename FirstArgType::type first_arg_type; @@ -111,8 +122,13 @@ namespace detail { static const bool is_member = boost::is_member_pointer::value; typedef typename senf::member_class::type class_type; + + typedef ParsedCommandOverload Overload; + typedef ParsedArgumentAttributor Attributor; }; + struct ParsedCommandAddNodeAccess; + #endif }}}