]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/pool/poolfwd.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / pool / poolfwd.hpp
1 // Copyright (C) 2000, 2001 Stephen Cleary
2 //
3 // Distributed under the Boost Software License, Version 1.0. (See
4 // accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org for updates, documentation, and revision history.
8
9 #ifndef BOOST_POOLFWD_HPP
10 #define BOOST_POOLFWD_HPP
11
12 /*!
13 \file
14 \brief Forward declarations of all public (non-implemention) classes.
15 */
16
17
18 #include <boost/config.hpp> // for workarounds
19
20 // std::size_t
21 #include <cstddef>
22
23 // boost::details::pool::default_mutex
24 #include <boost/pool/detail/mutex.hpp>
25
26 namespace boost {
27
28 //
29 // Location: <boost/pool/simple_segregated_storage.hpp>
30 //
31 template <typename SizeType = std::size_t>
32 class simple_segregated_storage;
33
34 //
35 // Location: <boost/pool/pool.hpp>
36 //
37 struct default_user_allocator_new_delete;
38 struct default_user_allocator_malloc_free;
39
40 template <typename UserAllocator = default_user_allocator_new_delete>
41 class pool;
42
43 //
44 // Location: <boost/pool/object_pool.hpp>
45 //
46 template <typename T, typename UserAllocator = default_user_allocator_new_delete>
47 class object_pool;
48
49 //
50 // Location: <boost/pool/singleton_pool.hpp>
51 //
52 template <typename Tag, unsigned RequestedSize,
53 typename UserAllocator = default_user_allocator_new_delete,
54 typename Mutex = details::pool::default_mutex,
55 unsigned NextSize = 32,
56 unsigned MaxSize = 0>
57 class singleton_pool;
58
59 //
60 // Location: <boost/pool/pool_alloc.hpp>
61 //
62 struct pool_allocator_tag;
63
64 template <typename T,
65 typename UserAllocator = default_user_allocator_new_delete,
66 typename Mutex = details::pool::default_mutex,
67 unsigned NextSize = 32,
68 unsigned MaxSize = 0>
69 class pool_allocator;
70
71 struct fast_pool_allocator_tag;
72
73 template <typename T,
74 typename UserAllocator = default_user_allocator_new_delete,
75 typename Mutex = details::pool::default_mutex,
76 unsigned NextSize = 32,
77 unsigned MaxSize = 0>
78 class fast_pool_allocator;
79
80 } // namespace boost
81
82 #endif