Namespaces
Variants

std:: basic_ios

From cppreference.net
< cpp ‎ | io
Défini dans l'en-tête <ios>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_ios

: public std:: ios_base

La classe std::basic_ios fournit des fonctionnalités pour interagir avec des objets qui possèdent std::basic_streambuf interface. Plusieurs std::basic_ios objets peuvent référencer un seul objet réel std::basic_streambuf .

cpp/io/ios base std-basic ios-inheritance.svg

Diagramme d'héritage

Plusieurs typedefs pour les types de caractères courants sont fournis :

Défini dans l'en-tête <ios>
Type Définition
std::ios std :: basic_ios < char >
std::wios std :: basic_ios < wchar_t >

Table des matières

Types membres

Type de membre Définition
char_type CharT
traits_type Traits ; le programme est mal formé si Traits::char_type n'est pas CharT .
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Fonctions membres publiques

construit l'objet
(fonction membre publique)
[virtual]
détruit l'objet
(fonction membre publique virtuelle)
operator=
l'opérateur d'affectation par copie est supprimé
(fonction membre publique)
Fonctions d'état
vérifie qu'aucune erreur ne s'est produite, c'est-à-dire que les opérations d'E/S sont disponibles
(fonction membre publique)
vérifie si la fin de fichier a été atteinte
(fonction membre publique)
vérifie si une erreur s'est produite
(fonction membre publique)
vérifie si une erreur irrécupérable s'est produite
(fonction membre publique)
vérifie si une erreur s'est produite (synonyme de fail() )
(fonction membre publique)
vérifie qu'aucune erreur ne s'est produite (synonyme de ! fail() )
(fonction membre publique)
retourne les indicateurs d'état
(fonction membre publique)
définit les indicateurs d'état
(fonction membre publique)
modifie les indicateurs d'état
(fonction membre publique)
Formatage
copie les informations de formatage
(fonction membre publique)
gère le caractère de remplissage
(fonction membre publique)
Divers
gère le masque d'exceptions
(fonction membre publique)
définit la locale
(fonction membre publique)
gère le tampon de flux associé
(fonction membre publique)
gère le flux lié
(fonction membre publique)
rétrécit les caractères
(fonction membre publique)
élargit les caractères
(fonction membre publique)

Fonctions membres protégées

initialise un std::basic_ios construit par défaut
(fonction membre protégée)
(C++11)
déplace depuis un autre std::basic_ios sauf pour rdbuf
(fonction membre protégée)
(C++11)
échange avec un autre std::basic_ios sauf pour rdbuf
(fonction membre protégée)
remplace le rdbuf sans effacer son état d'erreur
(fonction membre protégée)

Hérité de std:: ios_base

Fonctions membres

Formatage
gère les indicateurs de format
(fonction membre publique de std::ios_base )
définit un indicateur de format spécifique
(fonction membre publique de std::ios_base )
efface un indicateur de format spécifique
(fonction membre publique de std::ios_base )
gère la précision décimale des opérations en virgule flottante
(fonction membre publique de std::ios_base )
gère la largeur du champ
(fonction membre publique de std::ios_base )
Locales
définit la locale
(fonction membre publique de std::ios_base )
retourne la locale actuelle
(fonction membre publique de std::ios_base )
Tableau extensible interne
[static]
retourne un entier unique à l'échelle du programme qui peut être utilisé en toute sécurité comme index pour pword() et iword()
(fonction membre statique publique de std::ios_base )
redimensionne le stockage privé si nécessaire et accède à l'élément long à l'index donné
(fonction membre publique de std::ios_base )
redimensionne le stockage privé si nécessaire et accède à l'élément void * à l'index donné
(fonction membre publique de std::ios_base )
Divers
enregistre la fonction de rappel d'événement
(fonction membre publique de std::ios_base )
définit si les bibliothèques d'E/S C++ et C sont interopérables
(fonction membre statique publique de std::ios_base )
Classes membres
exception de flux
(classe membre publique de std::ios_base )
initialise les objets de flux standard
(classe membre publique de std::ios_base )

Types membres et constantes

Type Explication
type de mode d'ouverture de flux

Les constantes suivantes sont également définies :

Constante Explication
app se positionner à la fin du flux avant chaque écriture
binary ouvrir en mode binaire
in ouvrir en lecture
out ouvrir en écriture
trunc vider le contenu du flux lors de l'ouverture
ate se positionner à la fin du flux immédiatement après l'ouverture
noreplace (C++23) ouvrir en mode exclusif

(typedef)
Type des indicateurs de formatage

Les constantes suivantes sont également définies :

Constante Explication
dec utilise la base décimale pour les entrées/sorties d'entiers : voir std::dec
oct utilise la base octale pour les entrées/sorties d'entiers : voir std::oct
hex utilise la base hexadécimale pour les entrées/sorties d'entiers : voir std::hex
basefield dec | oct | hex . Utile pour les opérations de masquage
left alignement à gauche (ajoute des caractères de remplissage à droite) : voir std::left
right alignement à droite (ajoute des caractères de remplissage à gauche) : voir std::right
internal alignement interne (ajoute des caractères de remplissage au point désigné interne) : voir std::internal
adjustfield left | right | internal . Utile pour les opérations de masquage
scientific génère les types à virgule flottante en utilisant la notation scientifique, ou la notation hexadécimale si combiné avec fixed : voir std::scientific
fixed génère les types à virgule flottante en utilisant la notation fixe, ou la notation hexadécimale si combiné avec scientific : voir std::fixed
floatfield scientific | fixed . Utile pour les opérations de masquage
boolalpha insère et extrait le type bool en format alphanumérique : voir std::boolalpha
showbase génère un préfixe indiquant la base numérique pour la sortie d'entiers, requiert l'indicateur de devise dans les E/S monétaires : voir std::showbase
showpoint génère un caractère de point décimal inconditionnellement pour la sortie de nombres à virgule flottante : voir std::showpoint
showpos génère un caractère + pour les sorties numériques non négatives : voir std::showpos
skipws ignore les espaces blancs initiaux avant certaines opérations d'entrée : voir std::skipws
unitbuf vide le tampon de sortie après chaque opération de sortie : voir std::unitbuf
uppercase remplace certaines lettres minuscules par leurs équivalents majuscules dans certaines opérations de sortie : voir std::uppercase

(typedef)
type d'état du flux

Les constantes suivantes sont également définies :

Constante Explication
goodbit aucune erreur
badbit erreur irrécupérable du flux
failbit échec de l'opération d'entrée/sortie (erreur de formatage ou d'extraction)
eofbit la séquence d'entrée associée a atteint la fin du fichier

(typedef)
Type de direction de positionnement

Les constantes suivantes sont également définies :

Constante Explication
beg le début d'un flux
end la fin d'un flux
cur la position actuelle de l'indicateur de position du flux

(typedef)
spécifie le type d'événement
(enum)
type de fonction de rappel
(typedef)

Notes

Implémentation directe de std::basic_ios stocke uniquement les membres suivants (qui dépendent tous des paramètres du modèle et ne peuvent donc pas faire partie de std::ios_base ):

  • le caractère de remplissage (voir fill() )
  • le pointeur de flux lié (voir tie() )
  • le pointeur du tampon de flux associé (voir rdbuf() ).

Les implémentations réelles varient :

Microsoft Visual Studio stocke uniquement ces trois membres.

LLVM libc++ stocke 1 membre de moins : il maintient le pointeur rdbuf comme un membre void * de ios_base .

GNU libstdc++ stocke 4 membres supplémentaires : trois facettes en cache et un indicateur pour signaler que le remplissage a été initialisé.