/**
 * \file StringTokenizer.h
 * Classe de gestion pour le découpage en sous-chaines d'une chaine de caracteres.
 * 
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */

#ifndef ____STRINGTOKENIZER____
#define ____STRINGTOKENIZER____

/**
 * \class StringTokenizer
 * Classe de gestion pour le découpage en sous-chaines d'une chaine de caracteres.
 * 
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */

class StringTokenizer {

  private :
    char **s;          /**< Le tableau des sous-chaines extraites. */
    int cpt;           /**< Le nombre de sous-chaines extraites. */
    char dlmt;         /**< Le delimiteur. */

  public :	

/**
 * Constructeur pour un nouvel objet StringTokenizer.
 *
 * @param chaine La chaine a decouper.
 * @param delimiteur Le caractere delimiteur des sous-chaines.
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */
    StringTokenizer(char *chaine,char delimiteur);

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

/**
 * Retour du nombre de sous-chaines extraites.
 *
 * @return Le nombre de sous-chaines extraites.
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */
    int size(void);

/**
 * Retour d'une sous-chaines extraites.
 *
 * @param n L'indice de la sous-chaine.
 * @return La sous-chaine d'indice n.
 * @author Nicolas Janey
 * @author nicolas.janey@univ-fcomte.fr
 * @version 1.0, 01/01/10
 */
    char *string(int n);
 } ;

#endif
