]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/type_traits/test/mpl_interop_test3.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / type_traits / test / mpl_interop_test3.cpp
CommitLineData
7c673cae
FG
1
2// (C) Copyright John Maddock 2000.
3// Use, modification and distribution are subject to the
4// Boost Software License, Version 1.0. (See accompanying file
5// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7#include <boost/type_traits/is_void.hpp>
8#include <boost/type_traits/add_const.hpp>
9#include <boost/mpl/list.hpp>
10#include <boost/mpl/front.hpp>
11#include <boost/mpl/remove_if.hpp>
12#include <boost/mpl/transform.hpp>
13#include <boost/static_assert.hpp>
14
15template <class List>
16struct lambda_test
17{
18 typedef typename boost::mpl::remove_if<List, boost::is_void<boost::mpl::_> >::type reduced_list;
19 typedef typename boost::mpl::transform<reduced_list, boost::add_const<boost::mpl::_> >::type const_list;
20 typedef typename boost::mpl::front<const_list>::type type;
21};
22
23
24int main()
25{
26 typedef boost::mpl::list<const void, int, float, void, double> list_type;
27
28 lambda_test<list_type>::type i = 0;
29 return i;
b32b8144 30}