Skip to content

Doxygen Style Guidelines

Jonathan Lifflander edited this page Jan 29, 2020 · 1 revision

Doxygen Style for Classes/Structs

/**
 * \struct EpochActiveEnvelope
 *
 * \brief Holds an epoch and tag
 *
 * Extended envelope that holds an epoch and tag, contains all of \c
 * ActiveEnvelope
 */
 struct EpochActiveEnvelope {
   using isByteCopyable = std::true_type;

   ActiveEnvelope env;               /**< The basic envelope */
   EpochType epoch : epoch_num_bits; /**< The epoch */
 };

Doxygen Style for Functions/Methods

/**
 * \brief Get the priority level on an envelope
 *
 * \param[in] env the envelope
 *
 * \return the priority level in the envelope
 */
 template <typename Env>
 inline PriorityType envelopeGetPriority(Env& env);

Doxygen Style for Inline Fields

/// Enum for envelope type bits, used to cast to sub-types and interpret bits
 enum eEnvelopeType {
  EnvPipe      = 0,             /**< Whether to interpret group field as pipe */
  EnvPut       = 1,             /**< Whether the envelope has a PUT payload */
  EnvTerm      = 2,             /**< Whether the message is a term control msg */
  EnvBroadcast = 3,             /**< Whether the message is being broadcast */
  EnvEpochType = 4,             /**< Whether the envelope can hold an epoch */
  EnvTagType   = 5,             /**< Whether the envelope can hold a tag */
  EnvPackedPut = 6              /**< Whether the message is packed with data */
 };