1#ifndef __JROOT_JASCIIFILESTREAMER__
2#define __JROOT_JASCIIFILESTREAMER__
21namespace JPP {
using namespace JROOT; }
36 using std::ifstream::operator>>;
58 this->open(file_name);
79 if (std::getline(*
this, buffer)) {
81 istringstream is(buffer);
83 while (is >> buffer) {
91 reader.flags(this->flags());
95 if (std::getline(*
this, buffer)) {
97 istringstream is(buffer);
99 for (
size_t i = 0; i !=
columns.size() && is >> buffer; ++i) {
135 using std::ofstream::operator<<;
157 this->open(file_name);
178 static_cast<ostream&
>(*this) <<
' ' << p->GetName();
183 static_cast<ostream&
>(*this) << endl;
188 writer.flags(this->flags());
190 for (
size_t i = 0; i !=
columns.size(); ++i) {
ASCII I/O of objects with ROOT dictionary.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
This class can be used to temporarily redirect an input stream to an input string.
Default implementation of ROOT based dictionary for ASCII I/O.
Implementation for ASCII input of objects with ROOT dictionary.
JRootReader & getObject(T &object)
Read object.
Implementation for ASCII output of objects with ROOT dictionary.
JRootWriter & putObject(const T &object)
Write object.
Auxiliary classes and methods for language specific functionality.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.
std::vector< TDataMember * > getListOfDataMembers()
Get list of ROOT data members for given class.
static data_type & getInstance()
Get unique instance of template class.
Auxiliary class to read objects with ROOT dictionary from ASCII formatted file.
JASCIIFileReader(const char *const file_name, const JRootDictionary &dictionary=JRootDictionary::getInstance())
Constructor.
JASCIIFileReader(const JRootDictionary &dictionary=JRootDictionary::getInstance())
Constructor.
JASCIIFileReader & operator>>(T &object)
Read object from this file.
std::vector< JROOT::JRootReadableClass > columns
column count -> data member
Auxiliary class to write object with ROOT dictionary from ASCII formatted file.
std::vector< JROOT::JRootWritableClass > columns
column count -> data member
JASCIIFileWriter(const JRootDictionary &dictionary=JRootDictionary::getInstance())
Constructor.
JASCIIFileWriter & operator<<(const T &object)
Write object to this file.
JASCIIFileWriter(const char *const file_name, const JRootDictionary &dictionary=JRootDictionary::getInstance())
Constructor.
JRootAddressableClass find(const char *const name) const
Find addressable base class or data member with given name within current class.
JRootAddressableClass get(const TDataMember &object) const
Get addressable class of given data member.
ROOT class for reading into object.
ROOT class for writing from object.