qtbase/doc/global/cpp-doc-macros.qdocconf
Marc Mutz 906aa1533f Create qdoc macros for C++ class docs 2.1: qHash()
Add a family of qdoc macros to document the various qHash() overloads
we have.

This patch does not change the \relates of the qHash() functions, they
remain as inconsistent as they have been. Created QTBUG-129815 to
clean things up. Since this author expects the \relates to change in
the future, there are different \qhash commands, and all except
\qhashbuiltin take the class name as an argument, for use in a
centrally-choreographed fix for QTBUG-129815.

As drive-by's, fix:
- missing documentation about Key having to support qHash() in the
  associative Qt containers
- drop noexcept and default arguments from \fn lines that needed to
  have their argument names changed
- move the QStringView overload from qhash.cpp to qstringview.cpp
  (as it \relates to the former)

Fixes: QTBUG-129574
Pick-to: 6.8 6.5
Change-Id: I8e8c2edc27422cbe5823f56baf3a24d7f7050836
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io>
2024-11-27 12:39:55 +01:00

71 lines
2.3 KiB
Plaintext

# Macros for documenting repetitive aspects of C++ classes
# Sort groups alphabetically
#
# Macros for swap()
#
# \memberswap{what}
# what - a prose version of the type of object (e.g. "string", "collator", "pen")
# The function's argument name must be \a other.
macro.memberswap = \
"\n\n" \
"Swaps this \1 with \\a{other}. This operation is very fast and never fails." \
"\n\n"
#
# Macros for qHash()
#
macro.implqhashT = \
"\n\n" \
"Type \\c{\1} must be supported by qHash()." \
"\n\n"
macro.implqhashTS = \
"\n\n" \
"Types \\c{\1} and \\c{\2} must be supported by qHash()." \
"\n\n"
# \qhash{QClass} - generates qHash() doc for (hidden-friend) qHash() overloads
# \qhashT{QClass}{T}
# \qhashTS{QClass}{T}{S}
# QClass - the class being hashed (without decoration such as \c const, \c{&} or \c{<T>})
# T - the first template argument's name, if any
# S - the second template argument's name, if any
# The function's argument names must be \a key and \a seed, resp.
macro.qhash = \
"\n\n" \
"Returns the hash value for \\a key, using \\a seed to seed the calculation." \
"\\omit \1 \\endomit" \
"\n\n"
macro.qhashT = "\\qhash{\1}\\implqhashT{\2}"
macro.qhashTS = "\\qhash{\1}\\implqhashTS{\2}{\3}"
# \qhashold{QClass} - generates qHash() docs for (non-hidden-friend) qHash() overloads
# of class type. These should eventually go away
# \qhasholdT{QClass}{T}
# \qhasholdTS{QClass}{T}{S}
# QClass - the class being hashed (used for \relates)
# T - the first template argument's name, if any
# S - the second template argument's name, if any
# The function's argument names must be \a key and \a seed, resp.
macro.qhashold = \
"\n\n" \
"\\relates \1" \
"\\qhash{\1}"
macro.qhasholdT = "\\qhashold{\1}\\implqhashT{\2}"
macro.qhasholdTS = "\\qhashold{\1}\\implqhashTS{\2}{\3}"
# \qhashbuiltin (no arguments)
# \qhashbuiltinT{T}
# \qhashbuiltinTS{T}{S}
# For language-provided (built-in) types
# T - the first template argument's name, if any
# S - the second template argument's name, if any
# The function's argument names must be \a key and \a seed, resp.
macro.qhashbuiltin = "\\qhashold{QHash}"
macro.qhashbuiltinT = "\\qhashbuiltin\\implqhashT{\1}"
macro.qhashbuiltinTS = "\\qhashbuiltin\\implqhashTS{\1}{\2}"