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>
71 lines
2.3 KiB
Plaintext
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}"
|