CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::ValueDataStream< T, Promoter > Class Template Reference

#include <DataStream.hh>

+ Inheritance diagram for CASM::ValueDataStream< T, Promoter >:

Detailed Description

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
class CASM::ValueDataStream< T, Promoter >

Definition at line 265 of file DataStream.hh.

Public Types

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

Public Member Functions

 ValueDataStream (DataStreamTraits _traits=none)
 
DataStreamoperator<< (const std::string &val) override
 
DataStreamoperator<< (long val) override
 
DataStreamoperator<< (double val) override
 
DataStreamoperator<< (bool val) override
 
DataStreamoperator<< (char val) override
 
const T & value () const
 
DataStreamoperator<< (DataStream &(*F)(DataStream &))
 
DataStreamoperator<< (const std::function< DataStream &(DataStream &)> &F)
 
DataStreamoperator<< (DataStreamTraits set_bits)
 
virtual DataStreamnewline ()
 
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

m_value
 

Constructor & Destructor Documentation

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
CASM::ValueDataStream< T, Promoter >::ValueDataStream ( DataStreamTraits  _traits = none)
inline

Definition at line 268 of file DataStream.hh.

Member Function Documentation

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

Definition at line 88 of file DataStream.hh.

bool CASM::DataStream::_skipfail ( )
inlineprotectedinherited

Definition at line 92 of file DataStream.hh.

void CASM::DataStream::clear_fail ( )
inlineinherited

Definition at line 77 of file DataStream.hh.

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

Definition at line 19 of file DataStream.hh.

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

Definition at line 82 of file DataStream.hh.

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

Definition at line 73 of file DataStream.hh.

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

Definition at line 150 of file DataStream.hh.

virtual DataStream& CASM::DataStream::newline ( )
inlinevirtualinherited
DataStream& CASM::DataStream::operator<< ( DataStream &(*)(DataStream &)  F)
inlineinherited

Definition at line 56 of file DataStream.hh.

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

Definition at line 60 of file DataStream.hh.

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

Definition at line 68 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
DataStream& CASM::ValueDataStream< T, Promoter >::operator<< ( const std::string &  val)
inlineoverridevirtual

Reimplemented from CASM::DataStream.

Definition at line 271 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
DataStream& CASM::ValueDataStream< T, Promoter >::operator<< ( long  val)
inlineoverridevirtual

Reimplemented from CASM::DataStream.

Definition at line 276 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
DataStream& CASM::ValueDataStream< T, Promoter >::operator<< ( double  val)
inlineoverridevirtual

Reimplemented from CASM::DataStream.

Definition at line 281 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
DataStream& CASM::ValueDataStream< T, Promoter >::operator<< ( bool  val)
inlineoverridevirtual

Reimplemented from CASM::DataStream.

Definition at line 286 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
DataStream& CASM::ValueDataStream< T, Promoter >::operator<< ( char  val)
inlineoverridevirtual

Reimplemented from CASM::DataStream.

Definition at line 291 of file DataStream.hh.

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
const T& CASM::ValueDataStream< T, Promoter >::value ( ) const
inline

Definition at line 296 of file DataStream.hh.

Member Data Documentation

template<typename T, typename Promoter = DataStream_impl::DataStreamPromoter<T>>
T CASM::ValueDataStream< T, Promoter >::m_value
private

Definition at line 300 of file DataStream.hh.


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