12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright (C) 2008-2011 Daniel James.
- // Copyright (C) 2022-2023 Christian Mazakas
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- #ifndef BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
- #define BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
- #include <boost/config.hpp>
- #if defined(BOOST_HAS_PRAGMA_ONCE)
- #pragma once
- #endif
- #include <boost/container_hash/hash_fwd.hpp>
- #include <functional>
- #include <memory>
- namespace boost {
- namespace unordered {
- template <class K, class T, class H = boost::hash<K>,
- class P = std::equal_to<K>,
- class A = std::allocator<std::pair<const K, T> > >
- class unordered_map;
- template <class K, class T, class H, class P, class A>
- inline bool operator==(
- unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
- template <class K, class T, class H, class P, class A>
- inline bool operator!=(
- unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
- template <class K, class T, class H, class P, class A>
- inline void swap(unordered_map<K, T, H, P, A>& m1,
- unordered_map<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
- template <class K, class T, class H, class P, class A, class Predicate>
- typename unordered_map<K, T, H, P, A>::size_type erase_if(
- unordered_map<K, T, H, P, A>& c, Predicate pred);
- template <class K, class T, class H = boost::hash<K>,
- class P = std::equal_to<K>,
- class A = std::allocator<std::pair<const K, T> > >
- class unordered_multimap;
- template <class K, class T, class H, class P, class A>
- inline bool operator==(unordered_multimap<K, T, H, P, A> const&,
- unordered_multimap<K, T, H, P, A> const&);
- template <class K, class T, class H, class P, class A>
- inline bool operator!=(unordered_multimap<K, T, H, P, A> const&,
- unordered_multimap<K, T, H, P, A> const&);
- template <class K, class T, class H, class P, class A>
- inline void swap(unordered_multimap<K, T, H, P, A>& m1,
- unordered_multimap<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
- template <class K, class T, class H, class P, class A, class Predicate>
- typename unordered_multimap<K, T, H, P, A>::size_type erase_if(
- unordered_multimap<K, T, H, P, A>& c, Predicate pred);
- template <class N, class K, class T, class A> class node_handle_map;
- template <class Iter, class NodeType> struct insert_return_type_map;
- } // namespace unordered
- using boost::unordered::unordered_map;
- using boost::unordered::unordered_multimap;
- } // namespace boost
- #endif
|