X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FOverloadedCommand.cci;h=4892e53ce6bff895969cc01df3599de6577b45e4;hb=259da4c692259311c6ec99566b57f5ed1e68e93e;hp=6fc076d0e65c8a4e728cfeceb042ee88bf369ace;hpb=be33ff96c5b89738694da272d8610564cce48bfb;p=senf.git diff --git a/Console/OverloadedCommand.cci b/Console/OverloadedCommand.cci index 6fc076d..4892e53 100644 --- a/Console/OverloadedCommand.cci +++ b/Console/OverloadedCommand.cci @@ -48,17 +48,37 @@ prefix_ void senf::console::CommandOverload::operator()(std::ostream & os, execute(os, command); } -prefix_ void senf::console::CommandOverload::help(std::ostream & os) +prefix_ unsigned senf::console::CommandOverload::numArguments() + const +{ + return v_numArguments(); +} + +prefix_ void senf::console::CommandOverload::argumentDoc(unsigned index, ArgumentDoc & doc) + const +{ + return v_argumentDoc(index,doc); +} + +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) {} @@ -89,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() {}