# 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 - 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}"