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>


Öffentliche Methoden | |
| O_Stream () | |
| Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ... | |
| virtual | ~O_Stream () |
| Destruktor. | |
| virtual void | flush ()=0 |
| Leert den Puffer. Mehr ... | |
| O_Stream & | operator<< (char c) |
| Stellt ein einzelnes Zeichen dar. Mehr ... | |
| O_Stream & | operator<< (unsigned char c) |
| Stellt ein einzelnes Zeichen dar. Mehr ... | |
| O_Stream & | operator<< (const char *string) |
| Darstellung einer nullterminierten Zeichenkette. Mehr ... | |
| O_Stream & | operator<< (bool b) |
| Stellt ein Boolean dar. Mehr ... | |
| O_Stream & | operator<< (short ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (unsigned short ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (int ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (unsigned int ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (long ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (unsigned long ival) |
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
| O_Stream & | operator<< (const void *ptr) |
| Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ... | |
| O_Stream & | operator<< (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. | |
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.
|
inline |
Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem.
|
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.
| O_Stream & O_Stream::operator<< | ( | char | c | ) |
Stellt ein einzelnes Zeichen dar.
| c | Darzustellendes Zeichen |
| O_Stream & O_Stream::operator<< | ( | unsigned char | c | ) |
Stellt ein einzelnes Zeichen dar.
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.| c | Darzustellendes Zeichen |
| O_Stream & O_Stream::operator<< | ( | const char * | string | ) |
Darstellung einer nullterminierten Zeichenkette.
| string | Darzustellende Zeichenkette. |
| O_Stream & O_Stream::operator<< | ( | bool | b | ) |
Stellt ein Boolean dar.
| b | Darzustellendes Boolean |
| O_Stream & O_Stream::operator<< | ( | short | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | unsigned short | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | int | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | unsigned int | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | long | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | unsigned long | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
| ival | Darzustellende Zahl |
| O_Stream & O_Stream::operator<< | ( | const void * | ptr | ) |
Darstellung eines Zeigers als hexadezimale ganze Zahl.
| ptr | Darzustellender Pointer |
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.
| f | Anzuwendende Manipulatorfunktion |
| int O_Stream::base |
Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16)