Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Static Public Member Functions | List of all members
JROOT::JRootPrinter Struct Reference

Auxiliary class for printing objects in ASCII format using JRootWriter. More...

#include <JRootPrinter.hh>

Static Public Member Functions

static JEquationParametersgetEquationParameters ()
 Get equation parameters. More...
 
static void setEquationParameters (const JEquationParameters &equation)
 Set equation parameters. More...
 
static void print (JRootWriter &writer, const JRootWritableClass &cls)
 Write class contents to output. More...
 
template<class T >
static void print (std::ostream &out, const T &object, const std::string &key, const JEquationParameters &parameters, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
 Write part of object to output using ROOT dictionary. More...
 
template<class T >
static void print (std::ostream &out, const T &object, const JEquationParameters &parameters, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
 Write object to output using ROOT dictionary. More...
 
template<class T >
static void print (std::ostream &out, const T &object, const std::string &key, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
 Write part of object to output using ROOT dictionary. More...
 
template<class T >
static void print (std::ostream &out, const T &object, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
 Write object to output using ROOT dictionary. More...
 

Detailed Description

Auxiliary class for printing objects in ASCII format using JRootWriter.

Definition at line 30 of file JRootPrinter.hh.

Member Function Documentation

static JEquationParameters& JROOT::JRootPrinter::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 36 of file JRootPrinter.hh.

37  {
38  static JEquationParameters equation("=", "\n", ".", "");
39 
40  return equation;
41  }
static void JROOT::JRootPrinter::setEquationParameters ( const JEquationParameters equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 49 of file JRootPrinter.hh.

50  {
51  getEquationParameters() = equation;
52  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
Definition: JRootPrinter.hh:36
static void JROOT::JRootPrinter::print ( JRootWriter writer,
const JRootWritableClass cls 
)
inlinestatic

Write class contents to output.

Parameters
writerROOT writer
clsROOT class

Definition at line 61 of file JRootPrinter.hh.

62  {
63  if (cls.is_valid()) {
64  if (writer.getDictionary().find(cls.getTypename()) != writer.getDictionary().end())
65  writer.putObject(cls);
66  else
67  writer.put(cls);
68  }
69  }
const JRootDictionary_t & getDictionary() const
Get dictictionary.
const char * getTypename() const
Get type name.
Definition: JRootClass.hh:192
static JRootWriter & put(JRootWriter &writer, const std::string &key, const T &value)
Write given key and value according equation format.
bool is_valid() const
Check validity of this addressable class.
Definition: JRootClass.hh:459
static JRootWriter & putObject(JRootWriter &writer, const T &object)
Write object.
template<class T >
static void JROOT::JRootPrinter::print ( std::ostream &  out,
const T object,
const std::string &  key,
const JEquationParameters parameters,
const JRootDictionary_t dictionary = JRootDictionary::getInstance() 
)
inlinestatic

Write part of object to output using ROOT dictionary.

Parameters
outoutput stream
objectobject
keydata member name, optionally separated by division character
parametersequation parameters
dictionarydictionary

Definition at line 82 of file JRootPrinter.hh.

87  {
88  using namespace std;
89  using namespace JPP;
90 
91  JRootWritableClass cls(object);
92 
93  for (string::size_type il = 0, ir = 0; ir != string::npos && cls.is_valid(); il = ir + 1) {
94  ir = key.substr(il).find(parameters.getDefaultDivision());
95  cls = cls.find(key.substr(il, ir - il).c_str());
96  }
97 
98  if (cls.is_valid()) {
99 
100  JRootWriter writer(out, parameters, dictionary);
101 
102  print(writer, cls);
103 
104  } else {
105 
106  THROW(JParseError, "Invalid key " << key);
107  }
108  }
Implementation for ASCII output of objects with ROOT dictionary.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
static void print(JRootWriter &writer, const JRootWritableClass &cls)
Write class contents to output.
Definition: JRootPrinter.hh:61
ROOT class for writing object.
Definition: JRootClass.hh:586
template<class T >
static void JROOT::JRootPrinter::print ( std::ostream &  out,
const T object,
const JEquationParameters parameters,
const JRootDictionary_t dictionary = JRootDictionary::getInstance() 
)
inlinestatic

Write object to output using ROOT dictionary.

Parameters
outoutput stream
objectobject
parametersequation parameters
dictionarydictionary

Definition at line 120 of file JRootPrinter.hh.

124  {
125  JRootWriter writer(out, parameters, dictionary);
126  JRootWritableClass cls(object);
127 
128  print(writer, cls);
129  }
Implementation for ASCII output of objects with ROOT dictionary.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
static void print(JRootWriter &writer, const JRootWritableClass &cls)
Write class contents to output.
Definition: JRootPrinter.hh:61
ROOT class for writing object.
Definition: JRootClass.hh:586
template<class T >
static void JROOT::JRootPrinter::print ( std::ostream &  out,
const T object,
const std::string &  key,
const JRootDictionary_t dictionary = JRootDictionary::getInstance() 
)
inlinestatic

Write part of object to output using ROOT dictionary.

Parameters
outoutput stream
objectobject
keydata member name, optionally separated by division character '.'
dictionarydictionary

Definition at line 141 of file JRootPrinter.hh.

145  {
146  print(out, object, key, JRootPrinter::getEquationParameters(), dictionary);
147  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
Definition: JRootPrinter.hh:36
static void print(JRootWriter &writer, const JRootWritableClass &cls)
Write class contents to output.
Definition: JRootPrinter.hh:61
template<class T >
static void JROOT::JRootPrinter::print ( std::ostream &  out,
const T object,
const JRootDictionary_t dictionary = JRootDictionary::getInstance() 
)
inlinestatic

Write object to output using ROOT dictionary.

Parameters
outoutput stream
objectobject
dictionarydictionary

Definition at line 158 of file JRootPrinter.hh.

161  {
162  print(out, object, JRootPrinter::getEquationParameters(), dictionary);
163  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
Definition: JRootPrinter.hh:36
static void print(JRootWriter &writer, const JRootWritableClass &cls)
Write class contents to output.
Definition: JRootPrinter.hh:61

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