Autres éléments

Dans sa partie publique, la classe ios comprend aussi une énumération seek_dir de trois éléments ios::beg, ios::cur, ios::end, qui sont utilisés dans les changements de position (voir plus loin pour les flots de sortie et les flots d’entrée).

On trouve encore les quatre méthodes suivantes qui permettent, si vous créez votre propre système d’entrées-sorties, d’ajouter des champs personnels à la classe :

static long bitalloc();static int xalloc();long & iword(int);void* & pword(int);

La première indique le premier bit libre dans le champ de format sous la forme d’un masque. La seconde crée un champ utilisateur de type int, et renvoie un numéro ; ce numéro doit être réutilisé dans la troisième et la quatrième pour obtenir ce champ utilisateur sous sa forme int ou comme un pointeur.

Enfin on peut associer un flot de sortie à une instance de ios, à l’aide de la méthode ostream* tie(ostream*) ; le flot de sortie courant peut être obtenu par ostream* tie(void). Cela permet par exemple de définir un canal d’erreur. Ce champ n’est pas utilisé par les implantations standard de la classe ios.

Précisons enfin que s’il existe un constructeur public ios::ios(streambuf&), qui associe le tampon au flot, le constructeur par défaut ios::ios() et l’opérateur d’affectation ios::operator=(ios&) sont déclarés privés et de surcroît non définis, ce qui interdit la recopie d’une instance de ios dans une autre ; une telle copie serait en effet probablement erronée, voire catastrophique.

Précédent Précédent Sommaire Sommaire Suivant Suivant