12 #ifndef BOOST_MPL11_DETAIL_AT_INDEX_MULTIPLE_INHERITANCE2_HPP
13 #define BOOST_MPL11_DETAIL_AT_INDEX_MULTIPLE_INHERITANCE2_HPP
19 namespace boost {
namespace mpl11 {
namespace detail {
namespace at_index {
20 template <std_size_t n, std_size_t index,
typename ...xs>
23 template <std_size_t n,
typename ...xs>
24 struct select<n, n, xs...> : xs... { };
26 template <std_size_t n,
typename indices,
typename ...xs>
27 struct m2_indexer_impl;
29 template <std_size_t n, std_size_t ...index,
typename ...xs>
30 struct m2_indexer_impl<n, std_index_sequence<index...>, xs...>
31 : select<n, index, xs>...
42 template <std_size_t n,
typename ...xs>
43 using multiple_inheritance2 = m2_indexer_impl<
44 n,
typename make_std_index_sequence<
sizeof...(xs)>::type, xs...
48 #endif // !BOOST_MPL11_DETAIL_AT_INDEX_MULTIPLE_INHERITANCE2_HPP
Defines boost::mpl11::detail::std_size_t.
Defines boost::mpl11::detail::std_index_sequence.