]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/ptr_container/include/boost/ptr_container/detail/meta_functions.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / ptr_container / include / boost / ptr_container / detail / meta_functions.hpp
1 //
2 // Boost.Pointer Container
3 //
4 // Copyright Thorsten Ottosen 2008. Use, modification and
5 // distribution is subject to the Boost Software License, Version
6 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8 //
9 // For more information, see http://www.boost.org/libs/ptr_container/
10 //
11
12 #ifndef BOOST_PTR_CONTAINER_DETAIL_META_FUNCTIONS
13 #define BOOST_PTR_CONTAINER_DETAIL_META_FUNCTIONS
14
15 #include <boost/mpl/identity.hpp>
16 #include <boost/mpl/eval_if.hpp>
17
18 namespace boost
19 {
20 namespace ptr_container_detail
21 {
22 template< class T >
23 struct select_value_compare
24 {
25 typedef typename T::value_compare type;
26 };
27
28 template< class T >
29 struct select_key_compare
30 {
31 typedef typename T::key_compare type;
32 };
33
34 template< class T >
35 struct select_hasher
36 {
37 typedef typename T::hasher type;
38 };
39
40 template< class T >
41 struct select_key_equal
42 {
43 typedef typename T::key_equal type;
44 };
45
46 template< class T >
47 struct select_iterator
48 {
49 typedef typename T::iterator type;
50 };
51
52 template< class T >
53 struct select_local_iterator
54 {
55 typedef typename T::local_iterator type;
56 };
57
58 template< class T >
59 struct select_const_local_iterator
60 {
61 typedef typename T::const_local_iterator type;
62 };
63 }
64 }
65
66 #endif