Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JPARSER::JParserTemplateElement< JType_t, has_eq > Class Template Reference

Template class holder for I/O of parser element. More...

Public Member Functions

std::istream & read (std::istream &in)
 Template specialisation of JParserTemplateElement<std::string>::read to read complete line from stream input.
 
std::ostream & write (std::ostream &out) const
 Template specialisation of JParserTemplateElement<std::string>::write to surround text with quotes.
 
std::istream & read (std::istream &in)
 Template specialisation of JParserTemplateElement<TString>::read to read complete line from stream input.
 
std::istream & read (std::istream &in)
 Template specialisation of JParserTemplateElement< std::vector<TString> >read to read tokens from stream input.
 

Detailed Description

template<class JType_t, bool has_eq = JComparisonAvailable<JType_t>::has_eq>
class JPARSER::JParserTemplateElement< JType_t, has_eq >

Template class holder for I/O of parser element.

This class implements the JPARSER::JParserElementInterface interface.

Definition at line 618 of file JParser.hh.

Member Function Documentation

◆ read() [1/3]

std::istream & JPARSER::JParserTemplateElement< std::string, false >::read ( std::istream & in)
inline

Template specialisation of JParserTemplateElement<std::string>::read to read complete line from stream input.

Parameters
ininput stream
Returns
input stream

Definition at line 857 of file JParser.hh.

858 {
859 std::getline(in, object);
860
861 if (fail(in)) {
862 THROW(JParserException, "JParser: error reading parameter " << getName());
863 }
864
865 if (in.peek() != EOF) {
866 THROW(JParserException, "JParser: pending data after reading parameter " << getName());
867 }
868
869 setInitialiationStatus(true);
870
871 return in;
872 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
bool fail(std::istream &in)
Check for stream state.
Definition JParser.hh:96
const char * getName()
Get ROOT name of given data type.

◆ write()

std::ostream & JPARSER::JParserTemplateElement< std::string, false >::write ( std::ostream & out) const
inline

Template specialisation of JParserTemplateElement<std::string>::write to surround text with quotes.

Parameters
outoutput stream
Returns
output stream

Definition at line 882 of file JParser.hh.

883 {
884 return writeObject(out, JLANG::double_quote(object));
885 }
std::string double_quote(const std::string &value)
Quote string.

◆ read() [2/3]

std::istream & JPARSER::JParserTemplateElement< TString, false >::read ( std::istream & in)
inline

Template specialisation of JParserTemplateElement<TString>::read to read complete line from stream input.

Parameters
ininput stream
Returns
input stream

Definition at line 975 of file JParser.hh.

976 {
977 TStringHelper<>::read(in, object);
978
979 setInitialiationStatus(true);
980
981 return in;
982 }

◆ read() [3/3]

std::istream & JPARSER::JParserTemplateElement< std::vector< TString >, false >::read ( std::istream & in)
inline

Template specialisation of JParserTemplateElement< std::vector<TString> >read to read tokens from stream input.

Parameters
ininput stream
Returns
input stream

Definition at line 992 of file JParser.hh.

993 {
994 TStringHelper<>::read(in, object);
995
996 setInitialiationStatus(true);
997
998 return in;
999 }

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