Place better BOOST_CONTAINER_DOXYGEN_INVOKED checks so that doxygen does not generate unwanted types in the documentation

This commit is contained in:
Ion Gaztañaga
2025-12-17 23:39:27 +01:00
parent 68b80e6ac7
commit 03d4f4fef7
5 changed files with 17 additions and 7 deletions

View File

@@ -49,11 +49,13 @@ doxygen autodoc
\"BOOST_INTRUSIVE_OPTION_CONSTANT(OPTION_NAME, TYPE, VALUE, CONSTANT_NAME) = template<TYPE VALUE> struct OPTION_NAME{};\" \\
\"BOOST_INTRUSIVE_OPTION_TYPE(OPTION_NAME, TYPE, TYPEDEF_EXPR, TYPEDEF_NAME) = template<class TYPE> struct OPTION_NAME{};\" \\
\"BOOST_CONTAINER_DOC1ST(T1, T2)=T1\" \\
\"BOOST_CONTAINER_DOCIGN(T) \"\\
\"BOOST_CONTAINER_DOCIGN(T)= \"\\
\"BOOST_CONTAINER_DOCONLY(T)=T\"\\
\"BOOST_CONTAINER_SCOPEDALLOC_DUMMYTRUE=\"\\
\"BOOST_CONTAINER_SCOPEDALLOC_ALLINNER=InnerAllocs...\"\\
\"BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS=typename... InnerAllocs\"\\
\"BOOST_CONTAINER_DECL=\"\\
\"BOOST_CONTAINER_CONSTANT_VAR=static constexpr \"\\
\"BOOST_CONTAINER_FORCEINLINE=inline\" \\
"
<xsl:param>"boost.doxygen.reftitle=Boost.Container Header Reference"

View File

@@ -80,8 +80,6 @@
#pragma GCC diagnostic pop
#endif
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
namespace boost {
namespace container {
namespace dtl {
@@ -194,8 +192,6 @@ construct_type(T* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y)
} //namespace dtl
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
template<class T, class VoidAllocator, class Options>
class small_vector_allocator;

View File

@@ -49,6 +49,8 @@
#include <initializer_list>
#endif
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
#define BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
#endif
@@ -64,6 +66,8 @@
#pragma GCC optimize("no-strict-aliasing")
#endif
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
namespace boost {
namespace container {
@@ -87,7 +91,7 @@ template<class D>
BOOST_CONTAINER_FORCEINLINE static D force_copy(D s)
{ return s; }
#else //!BOOST_CONTAINER_DOXYGEN_INVOKED
#else //!BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
template<class D, class S>
BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
@@ -104,7 +108,7 @@ BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
D ret_val(*vp);
return ret_val;
}
#endif //BOOST_CONTAINER_DOXYGEN_INVOKED
#endif //BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
} //namespace dtl{

View File

@@ -31,6 +31,8 @@
namespace boost {
namespace container {
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
namespace pmr_dtl {
template<class T>
@@ -53,6 +55,8 @@ struct max_allocator_alignment< std::allocator<T> >
} //namespace pmr_dtl
#endif //BOOST_CONTAINER_DOXYGEN_INVOKED
namespace pmr {
//! An instance of resource_adaptor<Allocator> is an adaptor that wraps a memory_resource interface

View File

@@ -47,6 +47,8 @@
#include <cstddef> //offsetof
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
namespace boost {
namespace container {
@@ -316,6 +318,8 @@ struct small_vector_storage<T, 0u, Alignment>
BOOST_STATIC_CONSTEXPR std::size_t sms_size = 0u;
};
#endif //BOOST_CONTAINER_DOXYGEN_INVOKED
//! This class consists of common code from all small_vector<T, N> types that don't depend on the
//! "N" template parameter. This class is non-copyable and non-destructible, so this class typically
//! used as reference argument to functions that read or write small vectors. Since `small_vector<T, N>`