yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis 2.1.0
YODA::AOReaderBase Class Referenceabstract

#include <ReaderUtils.h>

Inheritance diagram for YODA::AOReaderBase:
YODA::AOReader< BinnedDbn< DbnN, AxisT... > > YODA::AOReader< BinnedEstimate< AxisT... > > YODA::AOReader< Counter > YODA::AOReader< Estimate0D > YODA::AOReader< ScatterND< N > >

Public Member Functions

 AOReaderBase ()
 Default constructor.
 
virtual ~AOReaderBase ()
 Default destructor.
 
virtual void parse (const string &line)=0
 
virtual AnalysisObjectassemble (const string &path="")=0
 
virtual AnalysisObjectmkFromH5 (H5FileManager &)=0
 
virtual void skip (H5FileManager &h5file)
 
template<typename T >
void extractVector (const std::string &line, std::vector< T > &vec)
 

Protected Attributes

aistringstream aiss
 

Detailed Description

Definition at line 52 of file ReaderUtils.h.

Constructor & Destructor Documentation

◆ AOReaderBase()

YODA::AOReaderBase::AOReaderBase ( )
inline

Default constructor.

Definition at line 136 of file ReaderUtils.h.

136{ }

◆ ~AOReaderBase()

virtual YODA::AOReaderBase::~AOReaderBase ( )
inlinevirtual

Default destructor.

Definition at line 139 of file ReaderUtils.h.

139{ }

Member Function Documentation

◆ assemble()

◆ extractVector()

template<typename T >
void YODA::AOReaderBase::extractVector ( const std::string &  line,
std::vector< T > &  vec 
)
inline

Definition at line 156 of file ReaderUtils.h.

156 {
157 if constexpr (std::is_same<T, std::string>::value) {
158 string::const_iterator initpos( line.cbegin() );
159 const string::const_iterator finpos( line.cend() );
160 std::smatch m;
161 while ( std::regex_search(initpos, finpos, m, regex_string_pat) ) {
162 string label;
163 std::stringstream ss(m[0].str());
164 ss >> std::quoted(label); // removes outer quotes and de-escapes inner quotes
165 vec.push_back(label);
166 initpos = m.suffix().first;
167 }
168 }
169 else {
170 std::string content = line.substr(line.find(": [")+3);
171 content.pop_back(); // remove the "]" at the end
172 for (const std::string& item : Utils::split(content, ",")) {
173 aiss.reset(item);
174 T tmp;
175 aiss >> tmp;
176 vec.push_back(std::move(tmp));
177 }
178 }
179 }
aistringstream aiss

References aiss.

◆ mkFromH5()

◆ parse()

◆ skip()

virtual void YODA::AOReaderBase::skip ( H5FileManager h5file)
inlinevirtual

Member Data Documentation

◆ aiss

aistringstream YODA::AOReaderBase::aiss
protected

Definition at line 183 of file ReaderUtils.h.

Referenced by extractVector().


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