/**
 * \file TagReference.h
 * Classe de description d'une reference a un tag au sein d'un tableau de caracteres.
 * 
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */

#ifndef ____TAGREFERENCE____
#define ____TAGREFERENCE____

/**
 * \class TagReference
 * Classe de description d'une reference a un tag au sein d'un tableau de caracteres.
 * 
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */

class TagReference {

  public :
    size_t pi;             /**< La position du <. */
    size_t pf;             /**< La position du >. */
    size_t pnext;          /**< La position du < du tag suivant. */
    size_t plast;          /**< La position du > du tag precedent. */
    char *name;            /**< Le nom. */
    char *contenu;         /**< La chaine contenue. */
    unsigned char type;    /**< Le type. */

  public :	

  /**
   * Constructeur pour un nouvel objet TagReference.
   *
   * @author Nicolas Janey
   * @author nicolas.janey@univ-fcomte.fr
   * @version 1.0, 01/01/10
   */
    TagReference(void);

  /**
   * Destructeur pour un objet TagReference.
   *
   * @author Nicolas Janey
   * @author nicolas.janey@univ-fcomte.fr
   * @version 1.0, 01/01/10
   */
    ~TagReference();

  /**
   * Affectation du nom.
   *
   * @param name Le nom affecte.
   * @author Nicolas Janey
   * @author nicolas.janey@univ-fcomte.fr
   * @version 1.0, 01/01/10
   */
    void setName(char *name);

  /**
   * Affectation du contenu.
   *
   * @param contenu Le contenu affecte.
   * @author Nicolas Janey
   * @author nicolas.janey@univ-fcomte.fr
   * @version 1.0, 01/01/10
   */
    void setContenu(char *contenu);
};

#endif
