Helios++
Helios software for LiDAR simulations
helios::filems::ZipSyncFileWriter< WriteArgs > Class Template Reference

Abstract child of SimpleSyncFileWriter which provides support for zipped output. More...

#include <ZipSyncFileWriter.h>

Inheritance diagram for helios::filems::ZipSyncFileWriter< WriteArgs >:
Collaboration diagram for helios::filems::ZipSyncFileWriter< WriteArgs >:

Public Member Functions

 ZipSyncFileWriter (const string &path, int compressionMode=boost::iostreams::zlib::best_compression)
 Build a ZipSyncFileWriter. More...
 
void finish () override
 ZipSyncFileWriter finishes the binary output archive instead of calling its parent finish method. This is necessary to prevent malfunctions coming from interaction between output archive closing and output stream closing. More...
 
- Public Member Functions inherited from helios::filems::SimpleSyncFileWriter< WriteArgs... >
 SimpleSyncFileWriter (const std::string &path, std::ios_base::openmode om=std::ios_base::app)
 Simple synchronous file writer constructor. More...
 
void finish () override
 SimpleSyncFileWriter finish method assures that output file will be closed if it is open.
 
- Public Member Functions inherited from helios::filems::SingleSyncFileWriter< WriteArgs ... >
 SingleSyncFileWriter ()
 Default constructor for synchronous single-file writer.
 
 SingleSyncFileWriter (const std::string &path)
 Instantiate a SingleSyncFileWriter which writes to file at given path. More...
 
void write (WriteArgs ... writeArgs) override
 Synchronously write to a single file. More...
 
std::string getPath (size_t const idx) const override
 Obtain the path to the file. More...
 
- Public Member Functions inherited from helios::filems::SyncFileWriter< WriteArgs ... >
 SyncFileWriter ()=default
 Default constructor for synchronous file writer.
 
std::string getPath ()
 Non index version of the SyncFileWriter::getPath(size_t const) function. More...
 

Protected Attributes

boost::iostreams::filtering_ostream compressedOut
 Compressed output stream.
 
boost::iostreams::zlib_params zp
 ZLib compression parameters.
 
unique_ptr< boost::archive::binary_oarchive > oa
 Binary output archive.
 
- Protected Attributes inherited from helios::filems::SimpleSyncFileWriter< WriteArgs... >
std::ofstream ofs
 Output file stream to be used by the simple synchronous file writer.
 
- Protected Attributes inherited from helios::filems::SingleSyncFileWriter< WriteArgs ... >
std::string path
 Path to file to be written.
 
std::mutex mutex
 Mutex to synchronize concurrent write operations.
 
std::shared_ptr< WriteStrategy< WriteArgs ... > > writeStrategy
 The write strategy specifying how to write data to file.
 

Detailed Description

template<typename ... WriteArgs>
class helios::filems::ZipSyncFileWriter< WriteArgs >

Abstract child of SimpleSyncFileWriter which provides support for zipped output.

Author
Alberto M. Esmoris Pena
Version
1.0
See also
filems::SimpleSyncFileWriter

Constructor & Destructor Documentation

◆ ZipSyncFileWriter()

template<typename ... WriteArgs>
helios::filems::ZipSyncFileWriter< WriteArgs >::ZipSyncFileWriter ( const string &  path,
int  compressionMode = boost::iostreams::zlib::best_compression 
)
inlineexplicit

Build a ZipSyncFileWriter.

Parameters
compressionModeCompression mode. Use boost::iostreams::zlib::best_speed to reduce execution time at most. Use boost::iostreams::zlib::best_compression to reduce size at most.

Member Function Documentation

◆ finish()

template<typename ... WriteArgs>
void helios::filems::ZipSyncFileWriter< WriteArgs >::finish ( )
inlineoverridevirtual

ZipSyncFileWriter finishes the binary output archive instead of calling its parent finish method. This is necessary to prevent malfunctions coming from interaction between output archive closing and output stream closing.

See also
SimpleSyncFileWriter::finish

Reimplemented from helios::filems::SyncFileWriter< WriteArgs ... >.


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