summaryrefslogtreecommitdiff
path: root/fast/read_pak.cc
diff options
context:
space:
mode:
Diffstat (limited to 'fast/read_pak.cc')
-rw-r--r--fast/read_pak.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/fast/read_pak.cc b/fast/read_pak.cc
new file mode 100644
index 0000000..81eed5d
--- /dev/null
+++ b/fast/read_pak.cc
@@ -0,0 +1,26 @@
+#include <msgpack.hpp>
+#include <iostream>
+#include <fstream>
+
+using namespace std;
+
+
+int
+main(int argc, char** argv)
+{
+ ifstream ifs(argv[1]);
+ size_t i = 0, nn, ne;
+ msgpack::unpacker pac;
+ while(true) {
+ pac.reserve_buffer(32*1024);
+ size_t bytes = ifs.readsome(pac.buffer(), pac.buffer_capacity());
+ pac.buffer_consumed(bytes);
+ msgpack::unpacked result;
+ while(pac.next(&result)) {
+ msgpack::object o = result.get();
+ cout << o << endl;
+ }
+
+ if (!bytes) break;
+ }
+}