• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
83