| 373 | |
| 374 | template<class Signature> |
| 375 | inline std::string generate_argument_list(const char first = 'a') |
| 376 | { |
| 377 | typedef typename |
| 378 | boost::function_types::parameter_types<Signature>::type parameter_types; |
| 379 | typedef typename |
| 380 | mpl::size<parameter_types>::type arity_type; |
| 381 | |
| 382 | std::stringstream s; |
| 383 | s << '('; |
| 384 | |
| 385 | if(arity_type::value > 0){ |
| 386 | argument_list_inserter i(s, first, arity_type::value); |
| 387 | mpl::for_each< |
| 388 | typename mpl::transform<parameter_types, boost::add_pointer<mpl::_1> |
| 389 | >::type>(i); |
| 390 | } |
| 391 | |
| 392 | s << ')'; |
| 393 | return s.str(); |
| 394 | } |
| 395 | |
| 396 | // used by the BOOST_COMPUTE_FUNCTION() macro to create a function |
| 397 | // with the given signature, name, arguments, and source. |
nothing calls this directly
no outgoing calls
no test coverage detected