CodeMover prototype
[dyninst.git] / external / boost / circular_buffer_fwd.hpp
1 // Forward declaration of the circular buffer and its adaptor.\r
2 \r
3 // Copyright (c) 2003-2008 Jan Gaspar\r
4 \r
5 // Use, modification, and distribution is subject to the Boost Software\r
6 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\r
7 // http://www.boost.org/LICENSE_1_0.txt)\r
8 \r
9 //  See www.boost.org/libs/circular_buffer for documentation.\r
10 \r
11 #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP)\r
12 #define BOOST_CIRCULAR_BUFFER_FWD_HPP\r
13 \r
14 #if defined(_MSC_VER) && _MSC_VER >= 1200\r
15     #pragma once\r
16 #endif\r
17 \r
18 #include <boost/config.hpp>\r
19 #if !defined(BOOST_NO_STD_ALLOCATOR)\r
20     #include <memory>\r
21 #else\r
22     #include <vector>\r
23 #endif\r
24 \r
25 namespace boost {\r
26 \r
27 #if !defined(BOOST_NO_STD_ALLOCATOR)\r
28     #define BOOST_CB_DEFAULT_ALLOCATOR(T) std::allocator<T>\r
29 #else\r
30     #define BOOST_CB_DEFAULT_ALLOCATOR(T) BOOST_DEDUCED_TYPENAME std::vector<T>::allocator_type\r
31 #endif\r
32 \r
33 template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)>\r
34 class circular_buffer;\r
35 \r
36 template <class T, class Alloc = BOOST_CB_DEFAULT_ALLOCATOR(T)>\r
37 class circular_buffer_space_optimized;\r
38 \r
39 #undef BOOST_CB_DEFAULT_ALLOCATOR\r
40 \r
41 } // namespace boost\r
42 \r
43 #endif // #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP)\r