Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:24

0001 
0002 // Copyright (C) 2008-2011 Daniel James.
0003 // Copyright (C) 2022-2023 Christian Mazakas
0004 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0005 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 
0007 #ifndef BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
0008 #define BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
0009 
0010 #include <boost/config.hpp>
0011 #if defined(BOOST_HAS_PRAGMA_ONCE)
0012 #pragma once
0013 #endif
0014 
0015 #include <boost/container_hash/hash_fwd.hpp>
0016 #include <functional>
0017 #include <memory>
0018 
0019 namespace boost {
0020   namespace unordered {
0021     template <class K, class T, class H = boost::hash<K>,
0022       class P = std::equal_to<K>,
0023       class A = std::allocator<std::pair<const K, T> > >
0024     class unordered_map;
0025 
0026     template <class K, class T, class H, class P, class A>
0027     inline bool operator==(
0028       unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
0029     template <class K, class T, class H, class P, class A>
0030     inline bool operator!=(
0031       unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
0032     template <class K, class T, class H, class P, class A>
0033     inline void swap(unordered_map<K, T, H, P, A>& m1,
0034       unordered_map<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
0035 
0036     template <class K, class T, class H, class P, class A, class Predicate>
0037     typename unordered_map<K, T, H, P, A>::size_type erase_if(
0038       unordered_map<K, T, H, P, A>& c, Predicate pred);
0039 
0040     template <class K, class T, class H = boost::hash<K>,
0041       class P = std::equal_to<K>,
0042       class A = std::allocator<std::pair<const K, T> > >
0043     class unordered_multimap;
0044 
0045     template <class K, class T, class H, class P, class A>
0046     inline bool operator==(unordered_multimap<K, T, H, P, A> const&,
0047       unordered_multimap<K, T, H, P, A> const&);
0048     template <class K, class T, class H, class P, class A>
0049     inline bool operator!=(unordered_multimap<K, T, H, P, A> const&,
0050       unordered_multimap<K, T, H, P, A> const&);
0051     template <class K, class T, class H, class P, class A>
0052     inline void swap(unordered_multimap<K, T, H, P, A>& m1,
0053       unordered_multimap<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
0054 
0055     template <class K, class T, class H, class P, class A, class Predicate>
0056     typename unordered_multimap<K, T, H, P, A>::size_type erase_if(
0057       unordered_multimap<K, T, H, P, A>& c, Predicate pred);
0058 
0059     template <class N, class K, class T, class A> class node_handle_map;
0060     template <class Iter, class NodeType> struct insert_return_type_map;
0061   } // namespace unordered
0062 
0063   using boost::unordered::unordered_map;
0064   using boost::unordered::unordered_multimap;
0065 } // namespace boost
0066 
0067 #endif