|
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 #include <boost/config.hpp> // for workarounds |
|
13 |
|
14 // std::size_t |
|
15 #include <cstddef> |
|
16 |
|
17 // boost::details::pool::default_mutex |
|
18 #include <boost/pool/detail/mutex.hpp> |
|
19 |
|
20 namespace boost { |
|
21 |
|
22 // |
|
23 // Location: <boost/pool/simple_segregated_storage.hpp> |
|
24 // |
|
25 template <typename SizeType = std::size_t> |
|
26 class simple_segregated_storage; |
|
27 |
|
28 // |
|
29 // Location: <boost/pool/pool.hpp> |
|
30 // |
|
31 struct default_user_allocator_new_delete; |
|
32 struct default_user_allocator_malloc_free; |
|
33 |
|
34 template <typename UserAllocator = default_user_allocator_new_delete> |
|
35 class pool; |
|
36 |
|
37 // |
|
38 // Location: <boost/pool/object_pool.hpp> |
|
39 // |
|
40 template <typename T, typename UserAllocator = default_user_allocator_new_delete> |
|
41 class object_pool; |
|
42 |
|
43 // |
|
44 // Location: <boost/pool/singleton_pool.hpp> |
|
45 // |
|
46 template <typename Tag, unsigned RequestedSize, |
|
47 typename UserAllocator = default_user_allocator_new_delete, |
|
48 typename Mutex = details::pool::default_mutex, |
|
49 unsigned NextSize = 32> |
|
50 struct singleton_pool; |
|
51 |
|
52 // |
|
53 // Location: <boost/pool/pool_alloc.hpp> |
|
54 // |
|
55 struct pool_allocator_tag; |
|
56 |
|
57 template <typename T, |
|
58 typename UserAllocator = default_user_allocator_new_delete, |
|
59 typename Mutex = details::pool::default_mutex, |
|
60 unsigned NextSize = 32> |
|
61 class pool_allocator; |
|
62 |
|
63 struct fast_pool_allocator_tag; |
|
64 |
|
65 template <typename T, |
|
66 typename UserAllocator = default_user_allocator_new_delete, |
|
67 typename Mutex = details::pool::default_mutex, |
|
68 unsigned NextSize = 32> |
|
69 class fast_pool_allocator; |
|
70 |
|
71 } // namespace boost |
|
72 |
|
73 #endif |