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 dentrée).
On trouve encore les quatre méthodes suivantes qui permettent, si vous créez votre propre système dentrées-sorties, dajouter 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 dun 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
, à laide 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 derreur. Ce champ nest pas utilisé par les implantations standard de la classe ios
.
Précisons enfin que sil existe un constructeur public ios::ios(streambuf&)
, qui associe le tampon au flot, le constructeur par défaut ios::ios()
et lopérateur daffectation ios::operator=(ios&)
sont déclarés privés et de surcroît non définis, ce qui interdit la recopie dune instance de ios
dans une autre ; une telle copie serait en effet probablement erronée, voire catastrophique.
Précédent | Sommaire | Suivant |