NGen
Loading...
Searching...
No Matches
utils::StreamHandler Class Reference

This class provides a copyable interface to a std::ostream or std::ostream like object that may not support being copied. More...

#include <StreamHandler.hpp>

+ Inheritance diagram for utils::StreamHandler:
+ Collaboration diagram for utils::StreamHandler:

Public Member Functions

 StreamHandler ()
 Default constructor intended for use by containers that need an empty constructor.
 
 StreamHandler (std::shared_ptr< std::ostream > s)
 Create a Stream Handler given a pointer to a ostream object and the seperator to be used in serialization.
 
 StreamHandler (StreamHandler &src)
 Copy constructor for a StreamHandler.
 
 StreamHandler (StreamHandler &&src)
 Move constructor for a StreamHandler.
 
 ~StreamHandler ()
 Deconstructor for a StreamHandler.
 
StreamHandleroperator= (StreamHandler &&other) noexcept
 Move Assignment operator for a StreamHandler.
 
template<class DataType >
void put (const DataType &val)
 Serialize data onto the stored stream.
 
template<class IndexType , class DataType >
void put_indexed (IndexType idx, const DataType &val)
 Serialize data onto the stream in the form of "<index><sep><val>\n".
 
template<class IndexType , class DataType >
void put_var (IndexType idx, std::string var, const DataType &val)
 Serialize data onto the stream in the form of "<index><sep><var><sep><val>\n".
 
template<class DataType >
std::ostream & operator<< (const DataType &val)
 stream write operator that allows a StreamHandler to be used as a stream object
 

Protected Attributes

std::shared_ptr< std::ostream > output_stream
 The shared pointer to the managed stream object.
 
std::string sep
 The seperator string to be used in serialization.
 

Detailed Description

This class provides a copyable interface to a std::ostream or std::ostream like object that may not support being copied.

Constructor & Destructor Documentation

◆ StreamHandler() [1/4]

utils::StreamHandler::StreamHandler ( )
inline

Default constructor intended for use by containers that need an empty constructor.

◆ StreamHandler() [2/4]

utils::StreamHandler::StreamHandler ( std::shared_ptr< std::ostream > s)
inline

Create a Stream Handler given a pointer to a ostream object and the seperator to be used in serialization.

References output_stream.

◆ StreamHandler() [3/4]

utils::StreamHandler::StreamHandler ( StreamHandler & src)
inline

Copy constructor for a StreamHandler.

◆ StreamHandler() [4/4]

utils::StreamHandler::StreamHandler ( StreamHandler && src)
inline

Move constructor for a StreamHandler.

◆ ~StreamHandler()

utils::StreamHandler::~StreamHandler ( )
inline

Deconstructor for a StreamHandler.

Member Function Documentation

◆ operator<<()

template<class DataType >
std::ostream & utils::StreamHandler::operator<< ( const DataType & val)
inline

stream write operator that allows a StreamHandler to be used as a stream object

References output_stream, and put().

◆ operator=()

StreamHandler & utils::StreamHandler::operator= ( StreamHandler && other)
inlinenoexcept

Move Assignment operator for a StreamHandler.

References output_stream, and sep.

◆ put()

template<class DataType >
void utils::StreamHandler::put ( const DataType & val)
inline

Serialize data onto the stored stream.

This function does not preform any formating.

References output_stream.

Referenced by operator<<().

◆ put_indexed()

template<class IndexType , class DataType >
void utils::StreamHandler::put_indexed ( IndexType idx,
const DataType & val )
inline

Serialize data onto the stream in the form of "<index><sep><val>\n".

References output_stream, and sep.

◆ put_var()

template<class IndexType , class DataType >
void utils::StreamHandler::put_var ( IndexType idx,
std::string var,
const DataType & val )
inline

Serialize data onto the stream in the form of "<index><sep><var><sep><val>\n".

References output_stream, and sep.

Member Data Documentation

◆ output_stream

std::shared_ptr<std::ostream> utils::StreamHandler::output_stream
protected

The shared pointer to the managed stream object.

Referenced by utils::FileStreamHandler::FileStreamHandler(), StreamHandler(), operator<<(), operator=(), put(), put_indexed(), and put_var().

◆ sep

std::string utils::StreamHandler::sep
protected

The seperator string to be used in serialization.

Referenced by operator=(), put_indexed(), and put_var().


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