Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek. Mehr ...

#include <object/o_stream.h>

Klassendiagramm für O_Stream:
Zusammengehörigkeiten von O_Stream:

Öffentliche Methoden

 O_Stream ()
 Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ...
 
virtual ~O_Stream ()
 Destruktor.
 
virtual void flush ()=0
 Leert den Puffer. Mehr ...
 
O_Streamoperator<< (char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (unsigned char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (const char *string)
 Darstellung einer nullterminierten Zeichenkette. Mehr ...
 
O_Streamoperator<< (bool b)
 Stellt ein Boolean dar. Mehr ...
 
O_Streamoperator<< (short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (const void *ptr)
 Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ...
 
O_Streamoperator<< (O_Stream &(*f)(O_Stream &))
 Aufruf einer Manipulatorfunktion. Mehr ...
 
- Öffentliche Methoden geerbt von Stringbuffer
virtual ~Stringbuffer ()
 Destruktor (hier nichts zu tun)
 

Öffentliche Attribute

int base
 Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16) Mehr ...
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von Stringbuffer
 Stringbuffer ()
 Konstruktor; Markiert Puffer als leer.
 
void put (char c)
 Fügt das Zeichen c in den Puffer ein. Mehr ...
 
- Geschützte Attribute geerbt von Stringbuffer
char buffer [80]
 Zeichenpuffer.
 
int pos
 Aktuelle Position im Puffer.
 

Ausführliche Beschreibung

Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek.

Da die Methode Stringbuffer::put(char) der Basisklasse Stringbuffer recht unbequem ist, wenn die zusammenzustellenden Texte nicht nur aus einzelnen Zeichen, sondern auch aus Zahlen, oder selbst wieder aus Zeichenketten bestehen, werden in der Klasse O_Stream Möglichkeiten zum Zusammenstellen verschiedener Datentypen realisiert. In Anlehnung an die bekannten Ausgabeoperatoren der C++ IO-Streams-Bibliothek wird dazu der Shift-Operator operator<< verwendet.

Darüberhinaus soll es möglich sein, für die Darstellung ganzer Zahlen zwischen dem Dezimal-, dem Binär- dem Oktal- und dem Hexadezimalsystem zu wählen. Beachtet dabei bitte die übliche Darstellung negativer Zahlen: Im Dezimalsystem mit führendem Minuszeichen, im Oktal- und Hexadezimalsystem ohne Minuszeichen, sondern genau so wie sie im Maschinenwort stehen. (Intel-CPUs verwenden intern das 2er-Komplement für negative Zahlen. -1 ist Hexadeziamal also FFFFFFFF und Oktal 37777777777.)

Die öffentlichen Methoden/Operatoren von O_Stream liefern jeweils eine Referenz auf ihr eigenes O_Stream Objekt zurück. Dadurch ist es möglich, in einem Ausdruck mehrere der Operatoren zu verwenden, z. B. kout << "a = " << a;

Zur Zeit wird die Darstellung von Zeichen, Zeichenketten und ganzen Zahlen unterstützt. Ein weiterer << Operator erlaubt die Verwendung von Manipulatoren, welche in der o_stream.h-Dokumentation näher beschrieben sind.

Beschreibung der Konstruktoren und Destruktoren

◆ O_Stream()

O_Stream::O_Stream ( )
inline

Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem.

Dokumentation der Elementfunktionen

◆ flush()

virtual void O_Stream::flush ( )
pure virtual

Leert den Puffer.

Rein virtuelle Methode, die erst durch abgeleitete Klassen implementiert wird. Darstellung des Pufferinhalts kann so durch unterschiedliche Kindklassen variiert werden.

Implementiert Stringbuffer.

Implementiert in Console, FileOut, CGA_Stream und ConsoleOut.

◆ operator<<() [1/12]

O_Stream & O_Stream::operator<< ( char  c)

Stellt ein einzelnes Zeichen dar.

Parameter
cDarzustellendes Zeichen
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [2/12]

O_Stream & O_Stream::operator<< ( unsigned char  c)

Stellt ein einzelnes Zeichen dar.

Zu beachten
C kennt eigentlich keine Zeichen, sondern nur Ganzzahlen. char ist für C nur eine 8bit Zahl, wobei das höchstwertige Bit (MSB) ein Vorzeichen darstellen kann. Dementsprechend hat ein unsigned char einen Wertebereich von 0 bis 255, bei signed char ist es -128 bis 127. Bei GCC sind char standardmäßig vorzeichenbehaftet.
Parameter
cDarzustellendes Zeichen
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [3/12]

O_Stream & O_Stream::operator<< ( const char *  string)

Darstellung einer nullterminierten Zeichenkette.

Parameter
stringDarzustellende Zeichenkette.
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [4/12]

O_Stream & O_Stream::operator<< ( bool  b)

Stellt ein Boolean dar.

Parameter
bDarzustellendes Boolean
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [5/12]

O_Stream & O_Stream::operator<< ( short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [6/12]

O_Stream & O_Stream::operator<< ( unsigned short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [7/12]

O_Stream & O_Stream::operator<< ( int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [8/12]

O_Stream & O_Stream::operator<< ( unsigned int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [9/12]

O_Stream & O_Stream::operator<< ( long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [10/12]

O_Stream & O_Stream::operator<< ( unsigned long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [11/12]

O_Stream & O_Stream::operator<< ( const void *  ptr)

Darstellung eines Zeigers als hexadezimale ganze Zahl.

Parameter
ptrDarzustellender Pointer
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

◆ operator<<() [12/12]

O_Stream & O_Stream::operator<< ( O_Stream &(*)(O_Stream &)  f)

Aufruf einer Manipulatorfunktion.

Methode sorgt dafür, dass Manipulatorfunktionen aufgerufen werden, um Veränderungen an der Klasse (z.B. Änderung der Zahlenbasis) zu ermöglichen.

Parameter
fAnzuwendende Manipulatorfunktion
Rückgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu können.

Dokumentation der Datenelemente

◆ base

int O_Stream::base

Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16)


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: