Helios++
Helios software for LiDAR simulations
ZipSyncFileMeasurementWriter.h
1 #pragma once
2 
3 #include <filems/write/comps/ZipSyncFileWriter.h>
4 #include <filems/write/strategies/ZipMeasurementWriteStrategy.h>
5 
6 #include <memory>
7 
8 namespace helios { namespace filems{
9 
10 using std::make_shared;
11 
23  public ZipSyncFileWriter<Measurement const&, glm::dvec3 const&>
24 {
25 
26 public:
27  // *** CONSTRUCTION / DESTRUCTION *** //
28  // ************************************ //
34  const string &path,
35  int compressionMode = boost::iostreams::zlib::best_compression
36  ) :
37  ZipSyncFileWriter<Measurement const&, glm::dvec3 const&>(
38  path, compressionMode
39  )
40  {
41  this->writeStrategy = make_shared<ZipMeasurementWriteStrategy>(
42  this->ofs,
43  *(this->oa)
44  );
45  }
46  virtual ~ZipSyncFileMeasurementWriter() = default;
47 };
48 
49 }}
Class representing a measurement.
Definition: Measurement.h:13
std::ofstream ofs
Output file stream to be used by the simple synchronous file writer.
Definition: SimpleSyncFileWriter.h:31
std::string path
Path to file to be written.
Definition: SingleSyncFileWriter.h:28
std::shared_ptr< WriteStrategy< WriteArgs ... > > writeStrategy
The write strategy specifying how to write data to file.
Definition: SingleSyncFileWriter.h:36
Concrete class specializing ZipSyncFileWriter to write compressed measurements to a file.
Definition: ZipSyncFileMeasurementWriter.h:24
ZipSyncFileMeasurementWriter(const string &path, int compressionMode=boost::iostreams::zlib::best_compression)
Simple synchronous zipped measurement writer constructor.
Definition: ZipSyncFileMeasurementWriter.h:33
Abstract child of SimpleSyncFileWriter which provides support for zipped output.
Definition: ZipSyncFileWriter.h:23
unique_ptr< boost::archive::binary_oarchive > oa
Binary output archive.
Definition: ZipSyncFileWriter.h:39