Helios++
Helios software for LiDAR simulations
ZipSyncFileTrajectoryWriter.h
1 #pragma once
2 
3 #include <filems/write/comps/ZipSyncFileWriter.h>
4 #include <filems/write/strategies/ZipTrajectoryWriteStrategy.h>
5 
6 #include <memory>
7 
8 namespace helios { namespace filems{
9 
10 using std::make_shared;
11 
19  public ZipSyncFileWriter<Trajectory const &>
20 {
21 
22 public:
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
30  string const &path,
31  int compressionMode = boost::iostreams::zlib::best_compression
32  ) :
33  ZipSyncFileWriter<Trajectory const &>(path, compressionMode)
34  {
35  this->writeStrategy = make_shared<ZipTrajectoryWriteStrategy>(
36  this->ofs,
37  *(this->oa)
38  );
39  }
40  virtual ~ZipSyncFileTrajectoryWriter() = default;
41 };
42 
43 }}
Class representing a concrete trajectory definition.
Definition: Trajectory.h:10
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 trajectory to a file.
Definition: ZipSyncFileTrajectoryWriter.h:20
ZipSyncFileTrajectoryWriter(string const &path, int compressionMode=boost::iostreams::zlib::best_compression)
Simple synchronous zipped trajectory writer constructor.
Definition: ZipSyncFileTrajectoryWriter.h:29
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