Есть ли какие-либо рекомендации относительно того, как С++-шаблоны и мета-функции шаблонов должны быть документированы с помощью Doxygen?
Например:
/// @brief metafunction for generation of a map of message types to
/// their associated callbacks.
/// @tparam Seq the list of message types
template< class Seq >
struct generate_callback_map
{
typedef typename mpl::transform< Seq
, build_type_signature_pair< mpl::_1 >
>::type vector_pair_type;
typedef typename fusion::result_of::as_map< vector_pair_type >::type type;
};
До сих пор я видел следующие предложения:
-
@tparam
используется для документирования параметров шаблона. -
@arg
альтернативный способ документирования параметров шаблона. -
@brief
используется для описания метафокса.
Как должен быть документирован "возвращенный тип" для метафунта?
Есть ли у кого-нибудь хорошие предложения или личные предпочтения для использования Doxygen с шаблонами С++?