X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FParsedCommand.mpp;h=a06b6c290875f7baadef12a148653fadcbb7231e;hb=394ced7000128fef7e753caea1deda8d55dec8e2;hp=ab3caa6fc514377516a52dd0f96c7554970d2dab;hpb=f13780e9e4da7df981d6f6542fbdc714beb34765;p=senf.git diff --git a/senf/Utils/Console/ParsedCommand.mpp b/senf/Utils/Console/ParsedCommand.mpp index ab3caa6..a06b6c2 100644 --- a/senf/Utils/Console/ParsedCommand.mpp +++ b/senf/Utils/Console/ParsedCommand.mpp @@ -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 @@ -40,10 +40,11 @@ #include #include #include +#include "senf/Utils/IgnoreValue.hh" -// ///////////////////////////mpp.p//////////////////////////////////////// -#elif BOOST_PP_IS_ITERATING // //////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-///////////////////////////mpp.p//////////////////////////////////////// +#elif BOOST_PP_IS_ITERATING //-//////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // Local Macros #define mpp_ArgTypeN(n) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(n)), _type) @@ -61,9 +62,9 @@ #define mpp_BindArgs_(z,n,d) BOOST_PP_CAT( _, BOOST_PP_INC(BOOST_PP_INC(n))) #define mpp_TrailingBindArgs() BOOST_PP_ENUM_TRAILING( BOOST_PP_ITERATION(), mpp_BindArgs_, _ ) -// //////////////////////////////////////////////////////////////////////// -#if BOOST_PP_ITERATION_FLAGS()==1 // ////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#if BOOST_PP_ITERATION_FLAGS()==1 //-////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // Header file (.hh) @@ -102,7 +103,7 @@ protected: private: ParsedCommandOverload(Function fn); - virtual void v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) + virtual void v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) const; Function function_; @@ -141,15 +142,15 @@ protected: private: ParsedCommandOverload(Function fn); - virtual void v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) + virtual void v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) const; Function function_; }; -// //////////////////////////////////////////////////////////////////////// -#elif BOOST_PP_ITERATION_FLAGS()==2 // //////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#elif BOOST_PP_ITERATION_FLAGS()==2 //-//////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // inline template implementation (.cti) @@ -179,7 +180,7 @@ senf::console::detail::ArgumentInfo< senf::console::ParsedCommandOverload:: arg() const { - return static_cast< detail::ArgumentInfo< + return static_cast< detail::ArgumentInfo< typename boost::mpl::at_c::type > & >(arg(n)); } @@ -195,7 +196,7 @@ template prefix_ senf::console::ParsedCommandOverload:: ParsedCommandOverload(Function fn) - : function_ (fn) + : function_ (fn) { # define mpp_l(z,n,d) addParameter< mpp_ArgTypeN(n) >(); BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l, _ ) @@ -220,7 +221,7 @@ senf::console::detail::ArgumentInfo< senf::console::ParsedCommandOverload:: arg() const { - return static_cast< detail::ArgumentInfo< + return static_cast< detail::ArgumentInfo< typename boost::mpl::at_c::type > & >(arg(n)); } @@ -236,16 +237,16 @@ template prefix_ senf::console::ParsedCommandOverload:: ParsedCommandOverload(Function fn) - : function_ (fn) + : function_ (fn) { # define mpp_l(z,n,d) addParameter< mpp_ArgTypeN(n) >(); BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l, _ ) # undef mpp_l } -// //////////////////////////////////////////////////////////////////////// -#elif BOOST_PP_ITERATION_FLAGS()==3 // //////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#elif BOOST_PP_ITERATION_FLAGS()==3 //-//////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // non-inline template implementation (.ct) @@ -260,7 +261,7 @@ v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) if ( nArgs > BOOST_PP_ITERATION() ) throw SyntaxErrorException("invalid number of arguments"); int nDefaults ( BOOST_PP_ITERATION() - nArgs ); - (void) nDefaults; + senf::IGNORE( nDefaults ); typedef typename boost::range_reverse_iterator::type riterator; @@ -278,7 +279,7 @@ v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) ArgumentTraits< mpp_ArgTypeN(n) >::parse( *(i++), mpp_ArgN(n) ); \ } # define mpp_l_(z,n,d) mpp_l(z, BOOST_PP_SUB(BOOST_PP_DEC(BOOST_PP_ITERATION()), n), d) - BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l_, _ ) + BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l_, _ ) # undef mpp_l # undef mpp_l_ @@ -302,7 +303,7 @@ v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) if ( nArgs > BOOST_PP_ITERATION() ) throw SyntaxErrorException("invalid number of arguments"); int nDefaults ( BOOST_PP_ITERATION() - nArgs ); - (void) nDefaults; + senf::IGNORE( nDefaults ); typedef typename boost::range_reverse_iterator::type riterator; @@ -320,16 +321,16 @@ v_execute(boost::any & rv, std::ostream & os, ParseCommandInfo const & command) ArgumentTraits< mpp_ArgTypeN(n) >::parse( *(i++), mpp_ArgN(n) ); \ } # define mpp_l_(z,n,d) mpp_l(z, BOOST_PP_SUB(BOOST_PP_DEC(BOOST_PP_ITERATION()), n), d) - BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l_, _ ) + BOOST_PP_REPEAT( BOOST_PP_ITERATION(), mpp_l_, _ ) # undef mpp_l # undef mpp_l_ function_(os mpp_TrailingArgs()); } -// //////////////////////////////////////////////////////////////////////// -#elif BOOST_PP_ITERATION_FLAGS()==4 // //////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#elif BOOST_PP_ITERATION_FLAGS()==4 //-//////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // CreateParsedCommandOverload @@ -347,22 +348,22 @@ struct CreateParsedCommandOverload }; -// //////////////////////////////////////////////////////////////////////// -#elif BOOST_PP_ITERATION_FLAGS()==5 // //////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#elif BOOST_PP_ITERATION_FLAGS()==5 //-//////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // Create keyword arg forwarding functions -template +template next_type arg ( BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_ITERATION(), A, const & a ), typename arg_params::match< BOOST_PP_ENUM_PARAMS( BOOST_PP_ITERATION(), A ) >::type kw = arg_params()) { return argInfo( kw(BOOST_PP_ENUM_PARAMS( BOOST_PP_ITERATION(), a )) ); } -// //////////////////////////////////////////////////////////////////////// -#endif // ///////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#endif //-///////////////////////////////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// // Undefine local Macros #undef mpp_TrailingBindArgs @@ -380,9 +381,9 @@ next_type arg ( BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_ITERATION(), A, const & a #undef mpp_ArgN #undef mpp_ArgTypeN -// //////////////////////////////////////////////////////////////////////// -#endif // ///////////////////////////////////////////////////////////////// -// ///////////////////////////mpp.e//////////////////////////////////////// +//-//////////////////////////////////////////////////////////////////////// +#endif //-///////////////////////////////////////////////////////////////// +//-///////////////////////////mpp.e//////////////////////////////////////// // Local Variables: