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...
 
 ~Istream () override=default
 Destructor. 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 74 of file StreamBuffer.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 79 of file StreamBuffer.h.

79  : m_stream(&str) {
80  }
std::istream * m_stream
Reference to input stream.
Definition: StreamBuffer.h:76
StreamBuffer::Istream::~Istream ( )
overridedefault

Destructor.

Member Function Documentation

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

Data load method.

Reimplemented from StreamBuffer::DataIO.

Definition at line 85 of file StreamBuffer.h.

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

Member Data Documentation

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

Reference to input stream.

Definition at line 76 of file StreamBuffer.h.


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