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