CMS 3D CMS Logo

StreamerFileIO.cc
Go to the documentation of this file.
2 #include <fstream>
3 #include <iostream>
6 
8  : current_offset_(1),
9  do_adler_(false),
10  adlera_(1),
11  adlerb_(0),
12  ost_(new std::ofstream(name.c_str(), std::ios_base::binary | std::ios_base::out)),
13  filename_(name) {
14  if (!ost_->is_open()) {
15  throw cms::Exception("OutputFile", "OutputFile") << "Error Opening Output File: " << name << "\n";
16  }
17  ost_->rdbuf()->pubsetbuf(nullptr, 0);
18 }
19 
21 
22 bool OutputFile::write(const char* ptr, size_t n) {
23  ost_->write(ptr, n);
24  if (!ost_->fail()) {
25  current_offset_ += (uint64)(n);
26  if (do_adler_)
27  cms::Adler32(ptr, n, adlera_, adlerb_);
28  return false;
29  }
30  return true;
31 }
32 
33 void OutputFile::close() { ost_->close(); }
OutputFile::~OutputFile
~OutputFile()
Definition: StreamerFileIO.cc:20
OutputFile::adlera_
uint32 adlera_
Definition: StreamerFileIO.h:43
funct::false
false
Definition: Factorize.h:29
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
OutputFile::OutputFile
OutputFile(const std::string &name)
Definition: StreamerFileIO.cc:7
OutputFile::do_adler_
bool do_adler_
Definition: StreamerFileIO.h:42
StreamerFileIO.h
OutputFile::write
bool write(const char *ptr, size_t n)
Definition: StreamerFileIO.cc:22
cms::Adler32
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
Definition: Adler32Calculator.cc:10
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
OutputFile::current_offset_
uint64 current_offset_
Definition: StreamerFileIO.h:40
std
Definition: JetResolutionObject.h:76
OutputFile::ost_
edm::propagate_const< std::shared_ptr< std::ofstream > > ost_
Definition: StreamerFileIO.h:46
Exception
Definition: hltDiff.cc:245
uint64
unsigned long long uint64
Definition: MsgTools.h:14
Adler32Calculator.h
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
Exception.h
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
OutputFile::close
void close()
Definition: StreamerFileIO.cc:33
OutputFile::adlerb_
uint32 adlerb_
Definition: StreamerFileIO.h:44