]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/bimap/include/boost/bimap/container_adaptor/unordered_set_adaptor.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / bimap / include / boost / bimap / container_adaptor / unordered_set_adaptor.hpp
CommitLineData
7c673cae
FG
1// Boost.Bimap
2//
3// Copyright (c) 2006-2007 Matias Capeletto
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8
9/// \file container_adaptor/unordered_set_adaptor.hpp
10/// \brief Container adaptor to easily build a std::unordered_set signature compatible container.
11
12#ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
13#define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
14
15#if defined(_MSC_VER)
16#pragma once
17#endif
18
19#include <boost/config.hpp>
20
21#include <boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp>
22#include <boost/mpl/aux_/na.hpp>
23#include <boost/mpl/vector.hpp>
24
25namespace boost {
26namespace bimaps {
27namespace container_adaptor {
28
29/// \brief Container adaptor to easily build a std::unordered_set signature compatible container.
30
31template
32<
33 class Base,
34
35 class Iterator,
36 class ConstIterator,
37 class LocalIterator,
38 class ConstLocalIterator,
39
40 class IteratorToBaseConverter = ::boost::mpl::na,
41 class IteratorFromBaseConverter = ::boost::mpl::na,
42 class LocalIteratorFromBaseConverter = ::boost::mpl::na,
43 class ValueToBaseConverter = ::boost::mpl::na,
44 class ValueFromBaseConverter = ::boost::mpl::na,
45 class KeyToBaseConverter = ::boost::mpl::na,
46
47 class FunctorsFromDerivedClasses = mpl::vector<>
48>
49class unordered_set_adaptor :
50
51 public ::boost::bimaps::container_adaptor::
52 unordered_associative_container_adaptor
53 <
54 Base,
55 Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
56 BOOST_DEDUCED_TYPENAME Iterator::value_type,
57 IteratorToBaseConverter, IteratorFromBaseConverter,
58 LocalIteratorFromBaseConverter,
59 ValueToBaseConverter, ValueFromBaseConverter,
60 KeyToBaseConverter,
61 FunctorsFromDerivedClasses
62 >
63{
64 typedef ::boost::bimaps::container_adaptor::
65 unordered_associative_container_adaptor
66 <
67 Base,
68 Iterator, ConstIterator, LocalIterator, ConstLocalIterator,
69 BOOST_DEDUCED_TYPENAME Iterator::value_type,
70 IteratorToBaseConverter, IteratorFromBaseConverter,
71 LocalIteratorFromBaseConverter,
72 ValueToBaseConverter, ValueFromBaseConverter,
73 KeyToBaseConverter,
74 FunctorsFromDerivedClasses
75
76 > base_;
77
78 // Access -----------------------------------------------------------------
79
80 public:
81
82 explicit unordered_set_adaptor(Base & c) :
83 base_(c) {}
84
85 protected:
86
87 typedef unordered_set_adaptor unordered_set_adaptor_;
88
89};
90
91
92} // namespace container_adaptor
93} // namespace bimaps
94} // namespace boost
95
96
97#endif // BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP
98