diff options
Diffstat (limited to 'boost/parameter/is_argument_pack.hpp')
-rw-r--r-- | boost/parameter/is_argument_pack.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/boost/parameter/is_argument_pack.hpp b/boost/parameter/is_argument_pack.hpp new file mode 100644 index 0000000000..3ff0d4d7d9 --- /dev/null +++ b/boost/parameter/is_argument_pack.hpp @@ -0,0 +1,29 @@ +// Copyright Cromwell D. Enage 2018. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_IS_ARGUMENT_PACK_HPP +#define BOOST_PARAMETER_IS_ARGUMENT_PACK_HPP + +#include <boost/parameter/aux_/is_tagged_argument.hpp> +#include <boost/parameter/aux_/arg_list.hpp> +#include <boost/mpl/bool.hpp> +#include <boost/mpl/if.hpp> +#include <boost/type_traits/is_base_of.hpp> + +namespace boost { namespace parameter { + + template <typename T> + struct is_argument_pack + : ::boost::mpl::if_< + ::boost::is_base_of< ::boost::parameter::aux::empty_arg_list,T> + , ::boost::mpl::true_ + , ::boost::parameter::aux::is_tagged_argument<T> + >::type + { + }; +}} + +#endif // include guard + |