X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FParsedCommand.cti;h=1d36bb441e694f3c0467a819f9f7d596bbf2002d;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=43a2cffbe880f0fae46585b559092877f621bc6f;hpb=f13780e9e4da7df981d6f6542fbdc714beb34765;p=senf.git diff --git a/senf/Utils/Console/ParsedCommand.cti b/senf/Utils/Console/ParsedCommand.cti index 43a2cff..1d36bb4 100644 --- a/senf/Utils/Console/ParsedCommand.cti +++ b/senf/Utils/Console/ParsedCommand.cti @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -45,7 +45,7 @@ senf::console::detail::ArgumentInfo::create() template prefix_ senf::console::detail::ArgumentInfo::ArgumentInfo() - : ArgumentInfoBase ( ArgumentTraits::description(), + : ArgumentInfoBase ( ArgumentTraits::description(), ArgumentTraits::singleToken ), defaultValue () {} @@ -318,7 +318,7 @@ template prefix_ senf::console::ParsedArgumentAttributor:: ParsedArgumentAttributor(typename Overload::ptr overload) - : ParsedArgumentAttributorBase< + : ParsedArgumentAttributorBase< Overload, ParsedArgumentAttributor > (overload, index) {} @@ -361,9 +361,50 @@ namespace detail { }}} +/////////////////////////////////////////////////////////////////////////// + +template +prefix_ senf::console::SimpleOverloadAttributor +senf::console::factory:: +Command(boost::function fn, + typename boost::enable_if_c::is_simple>::type *) +{ + return SimpleOverloadAttributor(fn); +} + +template +prefix_ senf::console::SimpleOverloadAttributor +senf::console::factory:: +Command(Function fn, + typename boost::enable_if_c::is_simple>::type *) +{ + return SimpleOverloadAttributor(fn); +} + +template +prefix_ senf::console::SimpleOverloadAttributor +senf::console::factory:: +Command(Member memfn, Owner * owner, + typename boost::enable_if >::type *, + typename boost::enable_if_c::is_simple>::type *) +{ + return SimpleOverloadAttributor(senf::membind(memfn,owner)); +} + +template +prefix_ senf::console::SimpleOverloadAttributor +senf::console::factory:: +Command(Member memfn, Owner const * owner, + typename boost::enable_if >::type *, + typename boost::enable_if_c::is_simple>::type *) +{ + return SimpleOverloadAttributor(senf::membind(memfn,owner)); +} + template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::Command(boost::function fn) +senf::console::factory:: +Command(boost::function fn) { return detail::addOverloadedCommandNode(fn); } @@ -372,14 +413,16 @@ template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor senf::console::factory:: Command(Function fn, - typename boost::enable_if_c::is_callable>::type *) + typename boost::enable_if_c::is_callable>::type *, + typename boost::disable_if >::type *) { return detail::addOverloadedCommandNode(fn); } template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::Command(boost::function fn) +senf::console::factory:: +Command(boost::function fn) { return detail::addOverloadedCommandNode(fn); } @@ -388,35 +431,44 @@ template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor senf::console::factory:: Command(Function fn, - typename boost::enable_if_c::is_callable>::type *) + typename boost::enable_if_c::is_callable>::type *, + typename boost::disable_if >::type *) { return detail::addOverloadedCommandNode(fn); } template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::BoundCommand(Owner * owner, Member memfn) +senf::console::factory:: +Command(Member memfn, Owner * owner, + typename boost::enable_if >::type *) { return detail::addOverloadedCommandNode(senf::membind(memfn,owner)); } template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::BoundCommand(Owner const * owner, Member memfn) +senf::console::factory:: +Command(Member memfn, Owner const * owner, + typename boost::enable_if >::type *) { return detail::addOverloadedCommandNode(senf::membind(memfn,owner)); } template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::BoundCommand(Owner * owner, Member memfn) +senf::console::factory:: +Command(Member memfn, Owner * owner, + typename boost::enable_if >::type *) { return detail::addOverloadedCommandNode(senf::membind(memfn,owner)); } template prefix_ typename senf::console::detail::ParsedCommandTraits::Attributor -senf::console::factory::BoundCommand(Owner const * owner, Member memfn) +senf::console::factory:: +Command(Member memfn, Owner const * owner, + typename boost::enable_if >::type *) { return detail::addOverloadedCommandNode(senf::membind(memfn,owner)); }