CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DataStream Class Reference

#include <DataStream.hh>

+ Inheritance diagram for CASM::DataStream:

Detailed Description

Definition at line 13 of file DataStream.hh.

Public Types

enum  DataStreamTraits { none = 0 , skipfail = (1u << 0) , failbit = (1u << 1) }
 

Public Member Functions

 DataStream (DataStreamTraits _traits=none)
 
virtual ~DataStream ()
 
virtual DataStreamoperator<< (const std::string &)
 
virtual DataStreamoperator<< (long)
 
virtual DataStreamoperator<< (double)
 
virtual DataStreamoperator<< (bool)
 
virtual DataStreamoperator<< (char)
 
virtual DataStreamoperator<< (jsonParser const &)
 
DataStreamoperator<< (DataStream &(*F)(DataStream &))
 
DataStreamoperator<< (const std::function< DataStream &(DataStream &)> &F)
 
virtual DataStreamnewline ()
 
DataStreamoperator<< (DataStreamTraits set_bits)
 
bool fail () const
 
void clear_fail ()
 
std::string const & err_msg () const
 

Static Public Member Functions

static DataStreamendl (DataStream &_strm)
 
static std::function< DataStream &(DataStream &_strm)> failure (std::string const &_msg)
 

Protected Member Functions

void _set_err_msg (std::string const &_msg)
 
bool _skipfail ()
 

Private Attributes

int m_traits
 
std::string m_err_msg
 

Member Enumeration Documentation

◆ DataStreamTraits

Enumerator
none 
skipfail 
failbit 

Definition at line 15 of file DataStream.hh.

Constructor & Destructor Documentation

◆ DataStream()

CASM::DataStream::DataStream ( DataStreamTraits  _traits = none)
inline

Definition at line 22 of file DataStream.hh.

◆ ~DataStream()

virtual CASM::DataStream::~DataStream ( )
inlinevirtual

Definition at line 24 of file DataStream.hh.

Member Function Documentation

◆ _set_err_msg()

void CASM::DataStream::_set_err_msg ( std::string const &  _msg)
inlineprotected

Definition at line 70 of file DataStream.hh.

◆ _skipfail()

bool CASM::DataStream::_skipfail ( )
inlineprotected

Definition at line 72 of file DataStream.hh.

◆ clear_fail()

void CASM::DataStream::clear_fail ( )
inline

Definition at line 62 of file DataStream.hh.

◆ endl()

static DataStream& CASM::DataStream::endl ( DataStream _strm)
inlinestatic

Definition at line 17 of file DataStream.hh.

◆ err_msg()

std::string const& CASM::DataStream::err_msg ( ) const
inline

Definition at line 67 of file DataStream.hh.

◆ fail()

bool CASM::DataStream::fail ( ) const
inline

Definition at line 60 of file DataStream.hh.

◆ failure()

std::function< DataStream &(DataStream &_strm)> CASM::DataStream::failure ( std::string const &  _msg)
inlinestatic

Definition at line 114 of file DataStream.hh.

◆ newline()

virtual DataStream& CASM::DataStream::newline ( )
inlinevirtual

◆ operator<<() [1/9]

virtual DataStream& CASM::DataStream::operator<< ( bool  )
inlinevirtual

◆ operator<<() [2/9]

virtual DataStream& CASM::DataStream::operator<< ( char  )
inlinevirtual

◆ operator<<() [3/9]

DataStream& CASM::DataStream::operator<< ( const std::function< DataStream &(DataStream &)> &  F)
inline

Definition at line 49 of file DataStream.hh.

◆ operator<<() [4/9]

virtual DataStream& CASM::DataStream::operator<< ( const std::string &  )
inlinevirtual

◆ operator<<() [5/9]

DataStream& CASM::DataStream::operator<< ( DataStream &(*)(DataStream &)  F)
inline

Definition at line 47 of file DataStream.hh.

◆ operator<<() [6/9]

DataStream& CASM::DataStream::operator<< ( DataStreamTraits  set_bits)
inline

Definition at line 55 of file DataStream.hh.

◆ operator<<() [7/9]

virtual DataStream& CASM::DataStream::operator<< ( double  )
inlinevirtual

◆ operator<<() [8/9]

virtual DataStream& CASM::DataStream::operator<< ( jsonParser const &  )
inlinevirtual

Definition at line 42 of file DataStream.hh.

◆ operator<<() [9/9]

virtual DataStream& CASM::DataStream::operator<< ( long  )
inlinevirtual

Member Data Documentation

◆ m_err_msg

std::string CASM::DataStream::m_err_msg
private

Definition at line 76 of file DataStream.hh.

◆ m_traits

int CASM::DataStream::m_traits
private

Definition at line 75 of file DataStream.hh.


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