]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/lockfree/include/boost/lockfree/lockfree_forward.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / lockfree / include / boost / lockfree / lockfree_forward.hpp
1 // Copyright (C) 2008-2016 Tim Blechmann
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
8 #ifndef BOOST_LOCKFREE_FORWARD_HPP_INCLUDED
9 #define BOOST_LOCKFREE_FORWARD_HPP_INCLUDED
10
11
12 #ifndef BOOST_DOXYGEN_INVOKED
13
14 #include <cstddef> // size_t
15
16 #include <boost/config.hpp>
17
18 #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
19 #include <boost/parameter/aux_/void.hpp>
20 #endif
21
22 namespace boost {
23 namespace lockfree {
24
25 // policies
26 template <bool IsFixedSized>
27 struct fixed_sized;
28
29 template <size_t Size>
30 struct capacity;
31
32 template <class Alloc>
33 struct allocator;
34
35
36 // data structures
37
38 #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
39 template <typename T,
40 class A0 = boost::parameter::void_,
41 class A1 = boost::parameter::void_,
42 class A2 = boost::parameter::void_>
43 #else
44 template <typename T, typename ...Options>
45 #endif
46 class queue;
47
48 #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
49 template <typename T,
50 class A0 = boost::parameter::void_,
51 class A1 = boost::parameter::void_,
52 class A2 = boost::parameter::void_>
53 #else
54 template <typename T, typename ...Options>
55 #endif
56 class stack;
57
58 #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
59 template <typename T,
60 class A0 = boost::parameter::void_,
61 class A1 = boost::parameter::void_>
62 #else
63 template <typename T, typename ...Options>
64 #endif
65 class spsc_queue;
66
67 }
68 }
69
70 #endif // BOOST_DOXYGEN_INVOKED
71
72 #endif // BOOST_LOCKFREE_FORWARD_HPP_INCLUDED