4 #include <filems/write/comps/SimpleMultiSyncFileWriter.h>
5 #include <boost/iostreams/filtering_stream.hpp>
6 #include <boost/iostreams/filter/zlib.hpp>
7 #include <boost/archive/binary_oarchive.hpp>
9 namespace helios {
namespace filems{
12 using std::unique_ptr;
22 template <
typename ... WriteArgs>
35 std::vector<boost::iostreams::zlib_params>
zp;
39 std::vector<unique_ptr<boost::archive::binary_oarchive>>
oa;
51 std::vector<std::string>
const &
path,
52 int compressionMode = boost::iostreams::zlib::best_compression
55 path, ios_base::out | ios_base::binary
60 size_t const nStreams =
path.size();
61 for(
size_t i = 0 ; i < nStreams ; ++i){
62 zp.emplace_back(boost::iostreams::zlib_params(compressionMode));
65 oa.emplace_back(std::unique_ptr<boost::archive::binary_oarchive>(
82 size_t const nStreams = this->
path.size();
83 for(
size_t i = 0 ; i < nStreams ; ++i){
std::vector< std::string > path
Paths to the files to be written.
Definition: MultiSyncFileWriter.h:28
Abstract specialization of MultiSyncFileWriter to write output to many files. Each writing operation ...
Definition: SimpleMultiSyncFileWriter.h:15
std::vector< std::ofstream > ofs
Output file streams to be used by the simple multi synchronous file writer.
Definition: SimpleMultiSyncFileWriter.h:23
Abstract child of SimpleMultiSyncFileWriter which provides support for zipped output.
Definition: ZipMultiSyncFileWriter.h:23
ZipMultiSyncFileWriter(std::vector< std::string > const &path, int compressionMode=boost::iostreams::zlib::best_compression)
Build a ZipMultiSyncFileWriter.
Definition: ZipMultiSyncFileWriter.h:50
std::vector< boost::iostreams::filtering_ostream > compressedOut
Compressed output streams.
Definition: ZipMultiSyncFileWriter.h:31
std::vector< boost::iostreams::zlib_params > zp
ZLib compression parameters for each stream.
Definition: ZipMultiSyncFileWriter.h:35
std::vector< unique_ptr< boost::archive::binary_oarchive > > oa
Binary output archive for each steam.
Definition: ZipMultiSyncFileWriter.h:39
void finish() override
ZipSyncFileWriter finishes the binary output archive instead of calling its parent finish method....
Definition: ZipMultiSyncFileWriter.h:81