Streamzustände: Zustand-Flags, Einführung (2/2)

In diesem Abschnitt wollen wir uns etwas genauer mit den Flags beschäftigen.

Binäre Codierung der Flags

Bei den Flags, von denen im folgenden die Rede sein wird, handelt es sich um einzelne Bits bzw. um Bitfelder, falls mehrere Formatbits zusammengefaßt werden. Dies bedeutet insbesondere, daß die Flags binär codiert sind, so daß man beim Setzen bzw. Abfragen bestimmter Bitkombinationen die binären Operatoren verwenden kann, um die Auswahl vorzunehmen.

Das Setzten bzw. Löschen der Formatflags kann über die beiden Elementfunktionen setf() und unsetf() erfolgen.
Für die Einstellungen des Formatstatus stehen zudem mehrere Operatoren zur Verfügung.

setf() zum Einstellen betsimmter Formatflags gibt es in zwei Varianten, d.h. genauer es existieren zwei überladene Instanzen für diese Funktion:

  setf(long);
  setf(long,long);

Das erste Argument kann dabei entweder ein Formatflag oder ein Formatbitfeld sein, das zweite Argument ist auf jeden Fall ein Formatbitfeld, das aus mehreren Formatflags betseht. Die zur Verfügung stehenden Formatflags und Format-Bitfelder werden noch ausführlich in dem Abschnitt Formatdefinitionen vorgestellt; eine Zusammenfassung befindet sich zudem im Anhang zu diesem Kapitel.

Zur Anwendung kommen diese beiden Funktionen in dem Abschnitt über Formatdefinitionen.