summaryrefslogtreecommitdiff
path: root/c,cc/compression_test.cc
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
committerPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
commit258e1b92ebbfdebefabc120969ab87c3d8b75c3d (patch)
treeef4ab11fe0bf9d720cea23b35711358a8465feeb /c,cc/compression_test.cc
parentcf3a29feb5887344b6633ead1b4b6d5657a15a4b (diff)
old c,cc examples
Diffstat (limited to 'c,cc/compression_test.cc')
-rw-r--r--c,cc/compression_test.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/c,cc/compression_test.cc b/c,cc/compression_test.cc
new file mode 100644
index 0000000..21bfafc
--- /dev/null
+++ b/c,cc/compression_test.cc
@@ -0,0 +1,45 @@
+#include <iostream>
+#include <fstream>
+#include <boost/iostreams/device/file.hpp>
+#include <boost/iostreams/filter/zlib.hpp>
+#include <boost/iostreams/filter/bzip2.hpp>
+#include <boost/iostreams/filter/gzip.hpp>
+#include <boost/iostreams/filtering_stream.hpp>
+
+using namespace boost::iostreams;
+using namespace std;
+
+
+int main(void)
+{
+ //ofstream raw("out-raw");
+ filtering_ostream out_z;
+ out_z.push(gzip_compressor());
+ //out_gz.push(gzip_compressor());
+ out_z.push(file_sink("out-z", std::ios::binary));
+ //out_gz.push(file_sink("out-gz", std::ios::binary));
+ for (size_t i = 0; i < 10; i++) {
+ out_z << "line #" << i << endl;
+ //out_gz << "line #" << i << endl;
+ //out_bz << "line #" << i << endl;
+ //raw << "line #" << i << endl;
+ }
+ // flush(out);
+ close(out_z);
+ //close(out_gz);
+ //close(out_bz);
+ //raw.close();
+
+ for (size_t i = 0; i < 5; i++) {
+ ifstream file("out-z", ios_base::in | ios_base::binary);
+ filtering_istream in;
+ in.push(gzip_decompressor());
+ in.push(file);
+ string s;
+ while (getline(in, s)) {
+ cout << s << endl;
+ }
+ file.close();
+ }
+}
+