• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright Cromwell D. Enage 2018.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 
6 #ifndef BOOST_PARAMETER_IS_ARGUMENT_PACK_HPP
7 #define BOOST_PARAMETER_IS_ARGUMENT_PACK_HPP
8 
9 #include <boost/parameter/aux_/is_tagged_argument.hpp>
10 #include <boost/parameter/aux_/arg_list.hpp>
11 #include <boost/mpl/bool.hpp>
12 #include <boost/mpl/if.hpp>
13 #include <boost/type_traits/is_base_of.hpp>
14 
15 namespace boost { namespace parameter {
16 
17     template <typename T>
18     struct is_argument_pack
19       : ::boost::mpl::if_<
20             ::boost::is_base_of< ::boost::parameter::aux::empty_arg_list,T>
21           , ::boost::mpl::true_
22           , ::boost::parameter::aux::is_tagged_argument<T>
23         >::type
24     {
25     };
26 }}
27 
28 #endif  // include guard
29 
30