#include <GaudiKernel/StreamBuffer.h>
Public Types | |
| typedef std::vector<ContainedLink> | ContainedLinks |
| typedef std::vector<IdentifiedLink> | IdentifiedLinks |
| Definition of the identifiable link set. More... | |
| typedef void (* | AnalyzeFunction )(const void* data, int siz, const std::type_info& type) |
| Definition of the buffer analyzer. | |
| enum | Mode { UNINITIALIZED, READING, WRITING } |
| Streamer mode. More... | |
| enum | SwapAction { SINGLE_BYTE, SWAP, NOSWAP } |
| Data Sawp actions. More... | |
| enum | State { INVALID = -1, VALID } |
| Link state defintions. More... | |
Public Methods | |
| StreamBuffer (bool do_swap=true) | |
| Standard constructor. More... | |
| virtual | ~StreamBuffer () |
| Standard destructor. More... | |
| const char* | data () const |
| Read access to data buffer. More... | |
| char* | data () |
| write access to data buffer. More... | |
| void | erase () |
| Reset the buffer. More... | |
| void | reserve (long len) |
| Reserve buffer space; Default: 16 k buffer size. More... | |
| void | extend (long len) |
| Extend the buffer. More... | |
| long | size () const |
| Total buffer size. More... | |
| ContainedLinks& | containedLinks () |
| Access to contained links. More... | |
| const ContainedLinks& | containedLinks () const |
| CONST Access to contained links. More... | |
| IdentifiedLinks& | identifiedLinks () |
| Access to identified links. More... | |
| const IdentifiedLinks& | identifiedLinks () const |
| CONST Access to identified links. More... | |
| void | setMode (Mode m) |
| Set mode of the stream and allocate buffer. More... | |
| bool | isReading () const |
| Get stream buffer state. More... | |
| bool | isWriting () const |
| Get stream buffer state. More... | |
| long | buffPointer () const |
| Retrieve current buffer pointer. More... | |
| void | setBuffPointer (long ptr) |
| Retrieve current buffer pointer. More... | |
| void | setAnalyzer (AnalyzeFunction fun=0) |
| Enable user analysis function. More... | |
| void | swapToBuffer (const void* source, int siz) |
| Swap buffers: int, long, short, float and double. More... | |
| void | swapFromBuffer (void* target, int siz) |
| Swap buffers: int, long, short, float and double. More... | |
| StreamBuffer& | writeBytes (const char* str, long len) |
| Write string to output stream. More... | |
| void | getIdentifiedLink (DataObject*& pObject, long& hint) |
| void | addIdentifiedLink (const DataObject* pObject, long hint) |
| void | getContainedLink (ContainedObject*& pObject, long& hint, long& link) |
| void | addContainedLink (const ContainedObject* pObject, long hint, long link) |
| StreamBuffer& | operator<< (int data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (int & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (unsigned int data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (unsigned int & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (long data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (long & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (unsigned long data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (unsigned long & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (short data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (short & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (unsigned short data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (unsigned short & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (char data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (char & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (unsigned char data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (unsigned char & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (float data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (float & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator<< (double data) |
| Output Streamer. More... | |
| StreamBuffer& | operator>> (double & data) |
| Input Streamer. More... | |
| StreamBuffer& | operator>> (char* data) |
| Streamer to read strings in (char*) format. More... | |
| StreamBuffer& | operator<< (const char *data) |
| Streamer to write strings in (char*) format. More... | |
| StreamBuffer& | operator>> (std::string& data) |
| Streamer to read strings in (std::string) format. More... | |
| StreamBuffer& | operator<< (const std::string& data) |
| Streamer to write strings in (std::string) format. More... | |
| template<classTYPE> StreamBuffer& | operator>> (TYPE*& refpObject) |
| Streamer to read links to contained or identified objects. More... | |
| StreamBuffer& | operator<< (const ContainedObject* pObject) |
| Streamer to write links to contained objects. More... | |
| StreamBuffer& | operator<< (const DataObject* pObject) |
| Streamer to write links to identified objects. More... | |
| void | serialize (DataIO& ioObject) |
| Serialize the buffer using an IO object. More... | |
Protected Methods | |
| SwapAction | swapBuffer (int siz) const |
| Check for byte swapping. More... | |
| template<classTYPE> StreamBuffer& | getObjectPointer (const DataObject* pObject, TYPE*& refpObject) |
| Helper to distinguis between identified pointers and contained pointers. More... | |
| template<classTYPE> StreamBuffer& | getObjectPointer (const ContainedObject* pObject, TYPE*& refpObject) |
| Helper to distinguis between identified pointers and contained pointers. More... | |
Protected Attributes | |
| Mode | m_mode |
| Boolean indicating wether the stream is in read or write mode. More... | |
| long | m_pointer |
| Current buffer pointer. More... | |
| long | m_length |
| Total buffer length. More... | |
| char* | m_buffer |
| Pointer to heap buffer. More... | |
| bool | m_swapEnabled |
| Flag indicating swapping. More... | |
| ContainedLinks | m_containedLinks |
| Container with links to contained objects. More... | |
| IdentifiedLinks | m_identifiedLinks |
| Container with links to contained objects. More... | |
| AnalyzeFunction | m_analyzer |
| Hook function for analysis of data to the stream. More... | |
Friends | |
| class | DataObject |
The basic idea behind the StreamBuffer is generic object conversion. The StreamBuffer acts as a byte stream (hence inheriting from a std::string) and stores any information streamed to the buffer. Since the information must be represented in a generic way on the fly byte swapping is performed. However, not only primitive data can be stored in the buffer, but also pointers to DataObjects (symbolic links) and pointers to contained objects. Automatically during serialization the persistent references to the corresponding objects and containers must be stored. These objects are accessible from the StreamBuffer object.
"On the fly" data conversion to non persistent
Definition at line 35 of file StreamBuffer.h.
|
|
Definition of the buffer analyzer.
|
|
|
Definition at line 144 of file StreamBuffer.h. |
|
|
Definition of the identifiable link set.
Definition at line 146 of file StreamBuffer.h. |
|
|
Streamer mode.
Definition at line 109 of file StreamBuffer.h. |
|
|
Link state defintions.
Definition at line 113 of file StreamBuffer.h. |
|
|
Data Sawp actions.
Definition at line 111 of file StreamBuffer.h. |
|
|
Standard constructor.
Definition at line 202 of file StreamBuffer.h. |
|
|
Standard destructor.
Definition at line 212 of file StreamBuffer.h. |
|
|
Definition at line 327 of file StreamBuffer.h. |
|
|
Definition at line 316 of file StreamBuffer.h. |
|
|
Retrieve current buffer pointer.
Definition at line 284 of file StreamBuffer.h. Referenced by StreamBuffer::Ostream::dump(). |
|
|
CONST Access to contained links.
Definition at line 253 of file StreamBuffer.h. |
|
|
Access to contained links.
Definition at line 249 of file StreamBuffer.h. |
|
|
write access to data buffer.
Definition at line 220 of file StreamBuffer.h. |
|
|
Read access to data buffer.
Definition at line 216 of file StreamBuffer.h. Referenced by StreamBuffer::Ostream::dump(), and StreamBuffer::Istream::load(). |
|
|
Reset the buffer.
Definition at line 224 of file StreamBuffer.h. Referenced by StreamBuffer::Istream::load(). |
|
|
Extend the buffer.
Definition at line 235 of file StreamBuffer.h. Referenced by swapToBuffer(). |
|
|
Definition at line 320 of file StreamBuffer.h. |
|
|
Definition at line 310 of file StreamBuffer.h. |
|
||||||
|
Helper to distinguis between identified pointers and contained pointers. This entry resolves contained pointers (= Pointers to ContainedObject instances.) Definition at line 193 of file StreamBuffer.h. |
|
||||||
|
Helper to distinguis between identified pointers and contained pointers. This entry resolves identified pointers (= Pointers to DataObject instances.) Definition at line 183 of file StreamBuffer.h. |
|
|
CONST Access to identified links.
Definition at line 262 of file StreamBuffer.h. |
|
|
Access to identified links.
Definition at line 258 of file StreamBuffer.h. |
|
|
Get stream buffer state.
Definition at line 275 of file StreamBuffer.h. Referenced by StreamBuffer::DataIO::serialize(). |
|
|
Get stream buffer state.
Definition at line 280 of file StreamBuffer.h. Referenced by StreamBuffer::DataIO::serialize(). |
|
|
Streamer to write links to identified objects. Links to identified objects are not stored immediately, but collected instead and analyzed later.
Definition at line 533 of file StreamBuffer.h. |
|
|
Streamer to write links to contained objects. Links to contained objects are not stored immediately, but collected instead and analyzed later.
Definition at line 521 of file StreamBuffer.h. |
|
|
Streamer to write strings in (std::string) format.
Definition at line 494 of file StreamBuffer.h. |
|
|
Streamer to write strings in (char*) format.
Definition at line 474 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 454 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 443 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 432 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 421 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 410 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 399 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 388 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 377 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 366 of file StreamBuffer.h. |
|
|
Output Streamer.
Definition at line 355 of file StreamBuffer.h. |
|
||||
|
Streamer to read links to contained or identified objects. The specified internal function call distinguishes between contained and identified objects.
Definition at line 511 of file StreamBuffer.h. |
|
|
Streamer to read strings in (std::string) format.
Definition at line 485 of file StreamBuffer.h. |
|
|
Streamer to read strings in (char*) format.
Definition at line 465 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 460 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 449 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 438 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 427 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 416 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 405 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 394 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 383 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 372 of file StreamBuffer.h. |
|
|
Input Streamer.
Definition at line 361 of file StreamBuffer.h. |
|
|
Reserve buffer space; Default: 16 k buffer size.
Definition at line 228 of file StreamBuffer.h. Referenced by StreamBuffer::Istream::load(). |
|
|
Serialize the buffer using an IO object. The streambuffer object will make use of a DataIO object, which can be specialized for streaming to any representation like e.g. disk files, Root files, Objectivity etc.
Definition at line 545 of file StreamBuffer.h. |
|
|
Enable user analysis function.
Definition at line 292 of file StreamBuffer.h. |
|
|
Retrieve current buffer pointer.
Definition at line 288 of file StreamBuffer.h. |
|
|
Set mode of the stream and allocate buffer.
Definition at line 267 of file StreamBuffer.h. |
|
|
Total buffer size.
Definition at line 245 of file StreamBuffer.h. |
|
|
Check for byte swapping.
Definition at line 554 of file StreamBuffer.h. Referenced by swapFromBuffer(), and swapToBuffer(). |
|
|
Swap buffers: int, long, short, float and double.
Definition at line 598 of file StreamBuffer.h. |
|
|
Swap buffers: int, long, short, float and double.
Definition at line 579 of file StreamBuffer.h. |
|
|
Write string to output stream.
Definition at line 302 of file StreamBuffer.h. |
|
|
DataObject is friend.
Definition at line 150 of file StreamBuffer.h. |
|
|
Hook function for analysis of data to the stream.
Definition at line 175 of file StreamBuffer.h. |
|
|
Pointer to heap buffer.
Definition at line 163 of file StreamBuffer.h. |
|
|
Container with links to contained objects.
Definition at line 169 of file StreamBuffer.h. |
|
|
Container with links to contained objects.
Definition at line 172 of file StreamBuffer.h. |
|
|
Total buffer length.
Definition at line 160 of file StreamBuffer.h. |
|
|
Boolean indicating wether the stream is in read or write mode.
Definition at line 154 of file StreamBuffer.h. |
|
|
Current buffer pointer.
Definition at line 157 of file StreamBuffer.h. |
|
|
Flag indicating swapping.
Definition at line 166 of file StreamBuffer.h. |
1.2.3 written by Dimitri van Heesch,
© 1997-2000