The Gaudi Framework  v30r3 (a5ef0a68)
StreamBuffer::Istream Class Reference

Reader for standard input streams. More...

#include <GaudiKernel/StreamBuffer.h>

Inheritance diagram for StreamBuffer::Istream:
Collaboration diagram for StreamBuffer::Istream:

Public Member Functions

 Istream (std::istream &str)
 Constructor. More...
 
void load (StreamBuffer &stream) override
 Data load method. More...
 
- Public Member Functions inherited from StreamBuffer::DataIO
 DataIO ()=default
 Standard constructor. More...
 
virtual ~DataIO ()=default
 Standard destructor. More...
 
void badStreamMode ()
 Throw Exception. More...
 
virtual void serialize (StreamBuffer &stream)
 Serialization method: loads/dumps streambuffer content. More...
 
virtual void dump (StreamBuffer &)
 Template function to save stream data. More...
 

Private Attributes

std::istreamm_stream
 Reference to input stream. More...
 

Detailed Description

Reader for standard input streams.

Definition at line 71 of file StreamBuffer.h.

Constructor & Destructor Documentation

StreamBuffer::Istream::Istream ( std::istream str)
inline

Constructor.

Definition at line 78 of file StreamBuffer.h.

78 : m_stream( &str ) {}
std::istream * m_stream
Reference to input stream.
Definition: StreamBuffer.h:74

Member Function Documentation

void StreamBuffer::Istream::load ( StreamBuffer stream)
inlineoverridevirtual

Data load method.

Reimplemented from StreamBuffer::DataIO.

Definition at line 81 of file StreamBuffer.h.

82  {
83  // Generic implementation for istreams:
84  int len;
85  ( *m_stream ) >> len;
86  stream.erase();
87  stream.reserve( len );
88  m_stream->read( stream.data(), len );
89  }
std::istream * m_stream
Reference to input stream.
Definition: StreamBuffer.h:74
const char * data() const
Read access to data buffer.
Definition: StreamBuffer.h:207
void reserve(long len)
Reserve buffer space; Default: 16 k buffer size.
Definition: StreamBuffer.h:224
T read(T...args)
void erase()
Reset the buffer.
Definition: StreamBuffer.h:211

Member Data Documentation

std::istream* StreamBuffer::Istream::m_stream
private

Reference to input stream.

Definition at line 74 of file StreamBuffer.h.


The documentation for this class was generated from the following file: