How to do a union of ArgumentPacks?
#include <iostream> #include <boost/parameter/name.hpp> BOOST_PARAMETER_NAME(name1) BOOST_PARAMETER_NAME(name2) BOOST_PARAMETER_NAME(name3) template <class ArgPack> double f(const ArgPack& args) { return args[_name1] + args[_name2] + args[_name3]; } template <class ArgPack1, class ArgPack2> double g(const ArgPack1& args1, const ArgPack2& args2) { return f((args1, args2)); // ※パックし直し } int main() { std::cout << g( (_name1 = 1.0, _name2 = 1.0), (_name3 = 1.0) ); }
tagged_argumentだけじゃなくarg_listにもoperator,がありました。