Ticket #9626: mainForBoost.cpp

File mainForBoost.cpp, 909 bytes (added by Edan Ayal <edanayal@…>, 9 years ago)
Line 
1#include <vector>
2
3#include <boost/interprocess/streams/bufferstream.hpp>
4#include <boost/interprocess/streams/vectorstream.hpp>
5#include <boost/iostreams/filter/bzip2.hpp>
6#include <boost/iostreams/filtering_streambuf.hpp>
7#include <boost/iostreams/copy.hpp>
8
9int main()
10{
11 typedef std::vector<char> buffer_t;
12 buffer_t myBuffer;
13 for (char i=0; i++; i<100)
14 myBuffer.push_back('A');
15 boost::interprocess::bufferstream input_stream;
16 input_stream.buffer (myBuffer.data(), myBuffer.size());
17
18 boost::interprocess::basic_vectorstream<buffer_t> compressorOutput;
19 boost::iostreams::filtering_streambuf<boost::iostreams::input> encoderFilter;
20 encoderFilter.push(boost::iostreams::bzip2_compressor());
21
22 encoderFilter.push(input_stream);
23 boost::iostreams::copy(encoderFilter, compressorOutput);
24
25 buffer_t *myCompressedBuffer = new buffer_t (compressorOutput.vector());
26
27 return 0;
28}