Aufgabe 6: Synchronisation
CopyStream Class Reference
Duplicate all data passed by the stream operator to two output streams. More...
#include <debug/copystream.h>
Inheritance diagram for CopyStream:
Collaboration diagram for CopyStream:
Public Member Functions | |
CopyStream (OutputStream *first, OutputStream *second) | |
Constructor. More... | |
template<typename T > | |
CopyStream & | operator<< (T value) |
Generic stream operator for any data type. More... | |
template<typename T > | |
CopyStream & | operator<< (T &(*f)(T &)) |
Deal with [OutputStream] manipulator functions. More... | |
Public Member Functions inherited from OutputStream | |
OutputStream () | |
Default constructor. Initial number system is decimal. | |
virtual | ~OutputStream () |
Destructor. | |
virtual void | flush ()=0 |
Clears the buffer. More... | |
OutputStream & | operator<< (char c) |
Print a single character. More... | |
OutputStream & | operator<< (unsigned char c) |
Print a single character. More... | |
OutputStream & | operator<< (const char *string) |
Printing a null-terminated string. More... | |
OutputStream & | operator<< (bool b) |
Print a boolean value. More... | |
OutputStream & | operator<< (short ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (unsigned short ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (int ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (unsigned int ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (long ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (unsigned long ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (long long ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (unsigned long long ival) |
Print an integral number in radix base More... | |
OutputStream & | operator<< (const void *ptr) |
Print a pointer as hexadecimal number. More... | |
OutputStream & | operator<< (OutputStream &(*f)(OutputStream &)) |
Calls one of the manipulator functions. More... | |
Public Member Functions inherited from Stringbuffer | |
virtual | ~Stringbuffer () |
Destructor (nothing to do here) | |
Additional Inherited Members | |
Public Attributes inherited from OutputStream | |
int | base |
Number system used for printing integral numbers (one of 2, 8, 10, or 16) | |
Protected Member Functions inherited from Stringbuffer | |
Stringbuffer () | |
Constructor; Marks the buffer as empty. | |
void | put (char c) |
Inserts a character into the buffer. More... | |
virtual void | flush ()=0 |
Flush the buffer contents. More... | |
Protected Attributes inherited from Stringbuffer | |
char | buffer [80] |
buffer containing characters that will be printed upon flush() | |
long unsigned | pos |
current position in the buffer | |
Detailed Description
Duplicate all data passed by the stream operator to two output streams.
Can be used as replacement for any OutputStream – for example, forwarding the DBG output simultaneously to screen (TextStream) and serial console (SerialStream).
By using template programming, two generic methods are sufficient (which simply forward the input to both).
Constructor & Destructor Documentation
|
inline |
Constructor.
- Parameters
-
first First recipient for output passed to this object second Second recipient for output passed to this object
Member Function Documentation
template<typename T >
|
inline |
Generic stream operator for any data type.
Forwards all input to both recipients.
Uses template meta programming for a generic & short solution
- Template Parameters
-
T Type of data to be forwarded
- Parameters
-
value data to be forwarded
- Returns
- Reference to the CopyStream object allowing concatenation of operators
template<typename T >
|
inline |
Deal with [OutputStream] manipulator functions.
- Template Parameters
-
T Manipulator type
- Parameters
-
f pointer to manipulator function
- Returns
- Reference to the CopyStream object allowing concatenation of operators
The documentation for this class was generated from the following file:
- debug/copystream.h