X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FOverloadedCommand.cci;h=4892e53ce6bff895969cc01df3599de6577b45e4;hb=1863c038d0400159ce49b851a5b81c2ce698c684;hp=ea87c2d478fc199d9b421049afd405be85e8943e;hpb=18ebf1e9edb34f1aa8a32173275421a5d54400f7;p=senf.git diff --git a/Console/OverloadedCommand.cci b/Console/OverloadedCommand.cci index ea87c2d..4892e53 100644 --- a/Console/OverloadedCommand.cci +++ b/Console/OverloadedCommand.cci @@ -36,23 +36,49 @@ prefix_ senf::console::CommandOverload::~CommandOverload() {} +prefix_ void senf::console::CommandOverload::execute(std::ostream & os, + ParseCommandInfo const & command) +{ + v_execute(os, command); +} + prefix_ void senf::console::CommandOverload::operator()(std::ostream & os, - Arguments const & arguments) + ParseCommandInfo const & command) +{ + execute(os, command); +} + +prefix_ unsigned senf::console::CommandOverload::numArguments() + const +{ + return v_numArguments(); +} + +prefix_ void senf::console::CommandOverload::argumentDoc(unsigned index, ArgumentDoc & doc) + const { - v_execute(os, arguments); + return v_argumentDoc(index,doc); } -prefix_ void senf::console::CommandOverload::help(std::ostream & os) +prefix_ std::string senf::console::CommandOverload::doc() + const { - v_help(os); + return v_doc(); } prefix_ senf::console::OverloadedCommandNode & senf::console::CommandOverload::node() + const { SENF_ASSERT( node_ ); return *node_; } +prefix_ unsigned senf::console::CommandOverload::overloadIndex() + const +{ + return node().overloadIndex(*this); +} + prefix_ senf::console::CommandOverload::CommandOverload() : node_(0) {} @@ -83,6 +109,13 @@ senf::console::OverloadedCommandNode::doc(std::string const & doc) return *this; } +prefix_ unsigned +senf::console::OverloadedCommandNode::overloadIndex(CommandOverload const & overload) +{ + return find(overloads_.begin(), overloads_.end(), CommandOverload::cptr(&overload)) + - overloads_.begin() + 1; +} + prefix_ senf::console::OverloadedCommandNode::OverloadedCommandNode() {}