MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
multiple_inheritance2.hpp
Go to the documentation of this file.
1 
12 #ifndef BOOST_MPL11_DETAIL_AT_KEY_MULTIPLE_INHERITANCE2_HPP
13 #define BOOST_MPL11_DETAIL_AT_KEY_MULTIPLE_INHERITANCE2_HPP
14 
16 
17 
18 namespace boost { namespace mpl11 { namespace detail { namespace at_key {
19  template <typename key, typename k, typename v>
20  struct select { };
21 
22  template <typename key, typename v>
23  struct select<key, key, v> : v { };
24 
34  template <typename key, typename ...pairs>
36 
37  template <typename key, typename ...k, typename ...v>
38  struct multiple_inheritance2<key, pair<k, v>...>
39  : select<key, k, v>...
40  { };
41 }}}} // end namespace boost::mpl11::detail::at_key
42 
43 #endif // !BOOST_MPL11_DETAIL_AT_KEY_MULTIPLE_INHERITANCE2_HPP
Empty struct (not a mpl::pair).
Definition: pair.hpp:27
Defines boost::mpl11::detail::pair and boost::mpl11::index_pair.
Key-based lookup into a parameter pack using multiple inheritance.
Definition: multiple_inheritance2.hpp:35