File indexing completed on 2025-07-02 08:30:38
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
0009 #define BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
0010
0011 #include <boost/config.hpp>
0012 #if defined(BOOST_HAS_PRAGMA_ONCE)
0013 #pragma once
0014 #endif
0015
0016 #include <boost/container_hash/hash_fwd.hpp>
0017 #include <functional>
0018 #include <memory>
0019
0020 #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
0021 #include <memory_resource>
0022 #endif
0023
0024 namespace boost {
0025 namespace unordered {
0026 template <class T, class H = boost::hash<T>, class P = std::equal_to<T>,
0027 class A = std::allocator<T> >
0028 class unordered_set;
0029
0030 template <class T, class H, class P, class A>
0031 inline bool operator==(
0032 unordered_set<T, H, P, A> const&, unordered_set<T, H, P, A> const&);
0033 template <class T, class H, class P, class A>
0034 inline bool operator!=(
0035 unordered_set<T, H, P, A> const&, unordered_set<T, H, P, A> const&);
0036 template <class T, class H, class P, class A>
0037 inline void swap(unordered_set<T, H, P, A>& m1,
0038 unordered_set<T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
0039
0040 template <class K, class H, class P, class A, class Predicate>
0041 typename unordered_set<K, H, P, A>::size_type erase_if(
0042 unordered_set<K, H, P, A>& c, Predicate pred);
0043
0044 template <class T, class H = boost::hash<T>, class P = std::equal_to<T>,
0045 class A = std::allocator<T> >
0046 class unordered_multiset;
0047
0048 template <class T, class H, class P, class A>
0049 inline bool operator==(unordered_multiset<T, H, P, A> const&,
0050 unordered_multiset<T, H, P, A> const&);
0051 template <class T, class H, class P, class A>
0052 inline bool operator!=(unordered_multiset<T, H, P, A> const&,
0053 unordered_multiset<T, H, P, A> const&);
0054 template <class T, class H, class P, class A>
0055 inline void swap(unordered_multiset<T, H, P, A>& m1,
0056 unordered_multiset<T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
0057
0058 template <class K, class H, class P, class A, class Predicate>
0059 typename unordered_multiset<K, H, P, A>::size_type erase_if(
0060 unordered_multiset<K, H, P, A>& c, Predicate pred);
0061
0062 template <class N, class T, class A> class node_handle_set;
0063 template <class Iter, class NodeType> struct insert_return_type_set;
0064
0065 #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
0066 namespace pmr {
0067 template <class T, class H = boost::hash<T>, class P = std::equal_to<T> >
0068 using unordered_set = boost::unordered::unordered_set<T, H, P,
0069 std::pmr::polymorphic_allocator<T> >;
0070
0071 template <class T, class H = boost::hash<T>, class P = std::equal_to<T> >
0072 using unordered_multiset = boost::unordered::unordered_multiset<T, H, P,
0073 std::pmr::polymorphic_allocator<T> >;
0074 }
0075 #endif
0076 }
0077
0078 using boost::unordered::unordered_multiset;
0079 using boost::unordered::unordered_set;
0080 }
0081
0082 #endif