]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/include/std/type_traits
libstdc++: Improve Doxygen documentation groups [PR 101258]
authorJonathan Wakely <jwakely@redhat.com>
Wed, 30 Jun 2021 15:00:58 +0000 (16:00 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 30 Jun 2021 23:25:46 +0000 (00:25 +0100)
commit6963c3b9ed1308bf5d2d8877956e56fec92853a7
treec2533692d2b902331c871fda98243bd1f32ad8c5
parent36adced3b6b7cae17d7b42e4573bd0f4194b1f70
libstdc++: Improve Doxygen documentation groups [PR 101258]

This defines some new Doxygen groups for C++17 variable templates and
for the contents of <experimental/type_traits>. By documenting the group
as a whole and adding each template to a group we don't need to document
them individually.

Also mark more internals with "@cond undocumented" so that Doxygen
ignores them by default. Also make Doxygen process <experimental/simd>.

For some reason, many of the class templates in <type_traits> do not
appear in the "Metaprogramming" group. For example, add_cv,
remove_extent, and all the is_xxx_constructible and is_xxx_assignable
traits. For some reason, Doxygen doesn't include them in the group,
despite doing it correctly for other traits in the same header.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:

PR libstdc++/101258
* doc/doxygen/user.cfg.in (INPUT): Add <experimental/simd>.
(COLS_IN_ALPHA_INDEX): Remove obsolete tag.
(PREDEFINED): Add/fix some more macros that need to be expanded.
* include/bits/random.h: Stop Doxygen from documenting internal
implementation details.
* include/bits/random.tcc: Likewise.
* include/bits/this_thread_sleep.h: Fix @file name.
* include/experimental/bits/simd.h: Add to Doxygen group. Do not
document internal implementation details.
* include/experimental/bits/simd_detail.h: Do not document
internal implementation details.
* include/experimental/simd: Define Doxygen groups.
* include/experimental/type_traits: Improve documentation for
the header file. Define groups. Use @since commands.
* include/std/scoped_allocator (scoped_allocator_adaptor): Move
declaration before undocumented region.
* include/std/type_traits (true_type, false_type): Use using
declaration instead of typedef.
(is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v)
(is_nothrow_invocable_r_v): Move definitions next to other C++17
variable templates.
Do not document internal implementation details. Move misplaced
group-end command. Define group for variable templates.
* include/std/variant: Do not document internal implementation
details.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
line number.
12 files changed:
libstdc++-v3/doc/doxygen/user.cfg.in
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/bits/this_thread_sleep.h
libstdc++-v3/include/experimental/bits/simd.h
libstdc++-v3/include/experimental/bits/simd_detail.h
libstdc++-v3/include/experimental/simd
libstdc++-v3/include/experimental/type_traits
libstdc++-v3/include/std/scoped_allocator
libstdc++-v3/include/std/type_traits
libstdc++-v3/include/std/variant
libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc