HeaderBrowser

Documentation : Tags C/C++



@var
Le tag @var prend un argument : le nom de la variable globale. Tapez-le exactement comme le nom de la variable, et prenez soin de mettre ce commentaire Header Browser juste avant la declaration de la variable.
/*!
 * @var         biereHomer
 * @abstract    La biere courante d'Homer.
 * @discussion  Pointer global vers la biere qu'Homer boit.
*/
biere_t      *biereHomer;

/*! @var soloLisa   Partition du solo de saxophone de Lisa */
saxoPart   *soloLisa;

@function
Le tag @function prend un argument : le nom de la fonction. Entrez-le exactement comme le nom de la fonction. Il y a deux tags que vous pouvez utilisez dans un tag function.
@param: prend deux arguments, le nom du paramètre et un texte descriptif relatif à ce paramètre. Vous pouvez mettre autant de tags param qu'il y a de paramètres dans la fonction. Essayer d'écrire les tags param dans le même ordre que dans la déclaration de la fonction.

@result (ou @return pour les habitués de JavaDoc): a un seul argument, un texte qui identifie la valeur de retour de la fonction. Il n'est pas nécessaire de mettre un tag result si le type de retour est void.

/*!
 * @function    cuirePoulet
 * @abstract    Cuit un poulet avec la sauce désirée.
 * @discussion  Cette fonction prend un poulet, le vide,
 *              le prepare avec la sauce voulue et le rotit.
 * @param       poids     Le poids du poulet.
 * @param       sauce     La sauce a utiliser. Peut etre un
 *                        pointeur NULL.
 * @result      Un pointeur sur le poulet cuit.
*/
poulet_t     *cuitPoulet(int poids, epice_t sauce);

@struct
@field: prend deux arguments, le nom du champ et un texte explicatif. Vous pouvez mettre autant de tags field qu'il y a de champs dans la structure.
/*!
 * @struct      poulet_s
 * @abstract    Contient toutes les proprietes des poulets.
 * @discussion  Toutes les proprietes des poulets (poids, couleur,
 *              ...) sont stockées dans cette structure.
 * @field       couleur   Valeur hexadecimale de la couleur.
 * @field       poids     Poids du poulet en kg.
 * @field       age       Age du poulet.
*/
struct       poulet_s {
    color_t  couleur;
    int      poids;
    int      age;
};

@union
Ce tag est similaire au tag struct.
/*!
 * @union       personnage_u
 *              Un personnage de film.
 * @field       cool      Un Simpson.
 * @field       brave     Un chevalier Jedi.
 * @field       sexy      Un actrice d'Alerte a Malibu.
*/
union            personnage_u {
    simpson_t    *cool;
    jedi_t       *brave;
    silicon_t    *sexy;
};

@enum
@constant: prend deux arguments, le nom de la constante et un texte descriptif. Vous pouvez mettre autant de tag constantqu'il y a de constantes dans l'énumération.
/*!
 * @enum        booleenLogiqueFloue_e
 *              Valeurs booleennes pour la logique floue.
 * @constant    FAUX      Valeur fausse.
 * @constant    VRAI      Valeur vraie.
 * @constant    PEUTETRE  Nouvelle valeur, entre vrai et faux.
*/
enum   booleenLogiqueFloue_e {
    FAUX = 0,
    VRAI,
    PEUTETRE
};

@typedef
Vous pouvez utiliser ce tag lorsque vous définissez un type. Il prend un seul type des sous-tags suivants en même temps.
@field: utilisé pour les définitions de type pour une structure ou une union.

@constant: utilisé pour les énumérations.

@param: pour les pointeurs de fonction.

/*!
 * @typedef     recetteGateau_t
 *              Recette pour la plupart des gateaux.
 * @field       oeufs     Nombre d'oeufs dans le gateau.
 * @field       lait      Quantite de lait (en litre).
 * @field       choco     Mis a VRAI s'il faut du chocolat.
*/
typedef struct   recetteGateau_s {
    int          oeufs,
    int          lait,
    bool         choco
}                recetteGateau_t;

/*!
 * @typedef     jour_t
 *              Tous les jours de la semaine.
 * @constant    LUNDI     Premier jour de la semaine.
 * @constant    MARDI     Deuxieme jour de la semaine.
 * @constant    MERCREDI  Troisieme jour de la semaine.
 * @constant    JEUDI     Quatrieme jour de la semaine.
 * @constant    VENDREDI  Cinquieme jour de la semaine.
 * @constant    SAMEDI    Sixieme jour de la semaine.
 * @constant    DIMANCHE  Septieme jour de la semaine.
*/
typedef enum     jour_e {
    LUNDI = 0,
    MARDI,
    MERCREDI,
    JEUDI,
    VENDREDI,
    SAMEDI,
    DIMANCHE
}                jour_t;

/*!
 * @typedef     crashtestHandler
 *              Pointeur de fonction vers un crash test.
 * @param       auto         La voiture sur laquelle le
 *                           test est fait.
 * @param       passagers    Nombre de passagers.
 * @param       vitesse      Vitesse de la voiture.
*/
typedef void (*crastestHandler)(car_t *auto, int passagers,
                                int vitesse);

@define / @defined
Ce tag prend un argument : le nom de la constante. Vous pouvez en expliquer l'utilité dans le tag abstract. Même si Header Browser fait la différence entre les constantes de macro et les fonctions de macro, vous n'avez rien à faire pour cela ; la différence se fait par le code source de la macro.
/*! @define FILS_HOMER  Nom du fils de Homer */
#define FILS_HOMER           "Bart"

/*! @define EST_FILS_HOMER   Vrai si c'est Bart */
#define EST_FILS_HOMER(nom)  (!strcmp(nom, FILS_HOMER))

Page precedente : Commentaires HeaderBrowser
Page suivante : Tags spécifiques au C++


Copyright © 2000-2001  |  Informations sur la licence