From e24fbc01c2e39cbd9b95cce3890faada011cc142 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Sat, 4 Nov 2023 09:51:37 +0800 Subject: [PATCH] doxygen cleanups --- doc/Jamfile.v2 | 10 ++++++++- include/boost/lockfree/policies.hpp | 32 +++++++++++++++++++++++------ include/boost/lockfree/queue.hpp | 3 +++ 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 1698d08b..1de2bd4c 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -2,8 +2,16 @@ # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +using quickbook ; +using boostbook ; +using doxygen ; +using xsltproc ; + +import set ; import doxygen ; -import quickbook ; +import xsltproc ; +import notfile ; +import path ; doxygen autodoc : diff --git a/include/boost/lockfree/policies.hpp b/include/boost/lockfree/policies.hpp index d2405043..8bea5d05 100644 --- a/include/boost/lockfree/policies.hpp +++ b/include/boost/lockfree/policies.hpp @@ -18,16 +18,10 @@ namespace boost { namespace lockfree { #ifndef BOOST_DOXYGEN_INVOKED namespace tag { struct allocator; -} // namespace tag -namespace tag { struct fixed_sized; -} // namespace tag -namespace tag { struct capacity; } // namespace tag -#endif - /** Configures a data structure as \b fixed-sized. * * The internal nodes are stored inside an array and they are addressed by array indexing. This limits the possible @@ -53,6 +47,32 @@ template < class Alloc > struct allocator : boost::parameter::template_keyword< tag::allocator, Alloc > {}; +#else + +/** Configures a data structure as \b fixed-sized. + * + * The internal nodes are stored inside an array and they are addressed by array indexing. This limits the possible + * size of the queue to the number of elements that can be addressed by the index type (usually 2**16-2), but on + * platforms that lack double-width compare-and-exchange instructions, this is the best way to achieve lock-freedom. + * This implies that a data structure is bounded. + * */ +template < bool IsFixedSized > +struct fixed_sized; + +/** Sets the \b capacity of a data structure at compile-time. + * + * This implies that a data structure is bounded and fixed-sized. + * */ +template < size_t Size > +struct capacity; + +/** Defines the \b allocator type of a data structure. + * */ +template < class Alloc > +struct allocator; + +#endif + }} // namespace boost::lockfree #endif /* BOOST_LOCKFREE_POLICIES_HPP_INCLUDED */ diff --git a/include/boost/lockfree/queue.hpp b/include/boost/lockfree/queue.hpp index 3ef2e141..5e63ccc3 100644 --- a/include/boost/lockfree/queue.hpp +++ b/include/boost/lockfree/queue.hpp @@ -44,12 +44,15 @@ namespace boost { namespace lockfree { + +#ifndef BOOST_DOXYGEN_INVOKED namespace detail { typedef parameter::parameters< boost::parameter::optional< tag::allocator >, boost::parameter::optional< tag::capacity > > queue_signature; } /* namespace detail */ +#endif /** The queue class provides a multi-writer/multi-reader queue, pushing and popping is lock-free,