rroonga 1.3.1-x86-mingw32 → 2.0.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/Rakefile +2 -7
- data/ext/groonga/rb-grn-column.c +34 -37
- data/ext/groonga/rb-grn-context.c +63 -2
- data/ext/groonga/rb-grn-expression.c +21 -13
- data/ext/groonga/rb-grn-object.c +2 -0
- data/ext/groonga/rb-grn-table.c +57 -51
- data/ext/groonga/rb-grn.h +10 -4
- data/lib/1.8/groonga.so +0 -0
- data/lib/1.9/groonga.so +0 -0
- data/lib/groonga/schema.rb +75 -46
- data/lib/groonga.rb +9 -6
- data/rroonga-build.rb +2 -2
- data/test/run-test.rb +1 -2
- data/test/test-table-select.rb +0 -5
- data/test/test-type.rb +2 -2
- data/test/test-version.rb +40 -10
- data/vendor/local/bin/grntest.exe +0 -0
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-1.dll +0 -0
- data/vendor/local/bin/libmsgpack-3.dll +0 -0
- data/vendor/local/bin/libmsgpackc-2.dll +0 -0
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/include/groonga/groonga/plugin.h +113 -0
- data/vendor/local/include/groonga/groonga/tokenizer.h +146 -0
- data/vendor/local/include/groonga/groonga.h +18 -18
- data/vendor/local/include/msgpack/object.h +98 -0
- data/vendor/local/include/msgpack/object.hpp +412 -0
- data/vendor/local/include/msgpack/pack.h +143 -0
- data/vendor/local/include/msgpack/pack.hpp +318 -0
- data/vendor/local/include/msgpack/pack_define.h +26 -0
- data/vendor/local/include/msgpack/pack_template.h +766 -0
- data/vendor/local/include/msgpack/sbuffer.h +111 -0
- data/vendor/local/include/msgpack/sbuffer.hpp +112 -0
- data/vendor/local/include/msgpack/sysdep.h +195 -0
- data/vendor/local/include/msgpack/type/bool.hpp +55 -0
- data/vendor/local/include/msgpack/type/define.hpp +3279 -0
- data/vendor/local/include/msgpack/type/deque.hpp +77 -0
- data/vendor/local/include/msgpack/type/fixint.hpp +172 -0
- data/vendor/local/include/msgpack/type/float.hpp +82 -0
- data/vendor/local/include/msgpack/type/int.hpp +211 -0
- data/vendor/local/include/msgpack/type/list.hpp +77 -0
- data/vendor/local/include/msgpack/type/map.hpp +205 -0
- data/vendor/local/include/msgpack/type/nil.hpp +65 -0
- data/vendor/local/include/msgpack/type/pair.hpp +61 -0
- data/vendor/local/include/msgpack/type/raw.hpp +94 -0
- data/vendor/local/include/msgpack/type/set.hpp +122 -0
- data/vendor/local/include/msgpack/type/string.hpp +62 -0
- data/vendor/local/include/msgpack/type/tr1/unordered_map.hpp +129 -0
- data/vendor/local/include/msgpack/type/tr1/unordered_set.hpp +122 -0
- data/vendor/local/include/msgpack/type/tuple.hpp +13691 -0
- data/vendor/local/include/msgpack/type/vector.hpp +81 -0
- data/vendor/local/include/msgpack/type.hpp +16 -0
- data/vendor/local/include/msgpack/unpack.h +260 -0
- data/vendor/local/include/msgpack/unpack.hpp +374 -0
- data/vendor/local/include/msgpack/unpack_define.h +93 -0
- data/vendor/local/include/msgpack/unpack_template.h +409 -0
- data/vendor/local/include/msgpack/version.h +40 -0
- data/vendor/local/include/msgpack/vrefbuffer.h +142 -0
- data/vendor/local/include/msgpack/vrefbuffer.hpp +97 -0
- data/vendor/local/include/msgpack/zbuffer.h +207 -0
- data/vendor/local/include/msgpack/zbuffer.hpp +100 -0
- data/vendor/local/include/msgpack/zone.h +147 -0
- data/vendor/local/include/msgpack/zone.hpp +455 -0
- data/vendor/local/include/msgpack.h +30 -0
- data/vendor/local/include/msgpack.hpp +24 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/libgroonga.la +2 -2
- data/vendor/local/lib/libmecab.a +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/libmsgpack.a +0 -0
- data/vendor/local/lib/libmsgpack.dll.a +0 -0
- data/vendor/local/lib/libmsgpack.la +41 -0
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.la +41 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +4 -4
- data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/commands/suggest.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/contribution/report.txt +6 -7
- data/vendor/local/share/doc/groonga/en/html/_sources/indexing.txt +108 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +386 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +51 -385
- data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/spec/search.txt +4 -4
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/check.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/delete.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/dump.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/load.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/quit.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/select.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/status.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/commands.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/executables.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/expr.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/now.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/functions/rand.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/functions.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/index.html +14 -8
- data/vendor/local/share/doc/groonga/en/html/indexing.html +237 -0
- data/vendor/local/share/doc/groonga/en/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/limitations.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/log.html +20 -20
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +566 -0
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news.html +65 -464
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/output.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference.html +14 -8
- data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/spec.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/type.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/commands/suggest.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/report.txt +6 -7
- data/vendor/local/share/doc/groonga/ja/html/_sources/indexing.txt +108 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +386 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +51 -385
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/spec/search.txt +4 -4
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/check.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/load.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/select.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/status.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/commands.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/executables.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/expr.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/now.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/functions.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/index.html +14 -8
- data/vendor/local/share/doc/groonga/ja/html/indexing.html +215 -0
- data/vendor/local/share/doc/groonga/ja/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/log.html +20 -20
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +528 -0
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news.html +62 -425
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/output.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference.html +14 -8
- data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/spec.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/type.html +5 -5
- data/vendor/local/share/doc/groonga/source/commands/suggest.txt +1 -1
- data/vendor/local/share/doc/groonga/source/contribution/report.txt +6 -7
- data/vendor/local/share/doc/groonga/source/indexing.txt +108 -0
- data/vendor/local/share/doc/groonga/source/news/1.2.x.txt +386 -0
- data/vendor/local/share/doc/groonga/source/news.txt +51 -385
- data/vendor/local/share/doc/groonga/source/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/source/spec/search.txt +4 -4
- data/vendor/local/share/license/groonga/COPYING +10 -12
- data/vendor/local/share/license/msgpack/AUTHORS +1 -0
- data/vendor/local/share/license/msgpack/COPYING +14 -0
- data/vendor/local/share/license/msgpack/LICENSE +202 -0
- data/vendor/local/share/man/ja/man1/groonga.1 +113 -5
- data/vendor/local/share/man/man1/groonga.1 +142 -11
- metadata +66 -3
- data/vendor/local/share/doc/groonga/source/update_execution_example.py +0 -141
@@ -0,0 +1,205 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_MAP_HPP__
|
19
|
+
#define MSGPACK_TYPE_MAP_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
#include <map>
|
23
|
+
#include <vector>
|
24
|
+
#include <algorithm>
|
25
|
+
|
26
|
+
namespace msgpack {
|
27
|
+
|
28
|
+
|
29
|
+
namespace type {
|
30
|
+
|
31
|
+
template <typename K, typename V>
|
32
|
+
class assoc_vector : public std::vector< std::pair<K, V> > {};
|
33
|
+
|
34
|
+
namespace detail {
|
35
|
+
template <typename K, typename V>
|
36
|
+
struct pair_first_less {
|
37
|
+
bool operator() (const std::pair<K, V>& x, const std::pair<K, V>& y) const
|
38
|
+
{ return x.first < y.first; }
|
39
|
+
};
|
40
|
+
}
|
41
|
+
|
42
|
+
} //namespace type
|
43
|
+
|
44
|
+
|
45
|
+
template <typename K, typename V>
|
46
|
+
inline type::assoc_vector<K,V>& operator>> (object o, type::assoc_vector<K,V>& v)
|
47
|
+
{
|
48
|
+
if(o.type != type::MAP) { throw type_error(); }
|
49
|
+
v.resize(o.via.map.size);
|
50
|
+
object_kv* p = o.via.map.ptr;
|
51
|
+
object_kv* const pend = o.via.map.ptr + o.via.map.size;
|
52
|
+
std::pair<K, V>* it(&v.front());
|
53
|
+
for(; p < pend; ++p, ++it) {
|
54
|
+
p->key.convert(&it->first);
|
55
|
+
p->val.convert(&it->second);
|
56
|
+
}
|
57
|
+
std::sort(v.begin(), v.end(), type::detail::pair_first_less<K,V>());
|
58
|
+
return v;
|
59
|
+
}
|
60
|
+
|
61
|
+
template <typename Stream, typename K, typename V>
|
62
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const type::assoc_vector<K,V>& v)
|
63
|
+
{
|
64
|
+
o.pack_map(v.size());
|
65
|
+
for(typename type::assoc_vector<K,V>::const_iterator it(v.begin()), it_end(v.end());
|
66
|
+
it != it_end; ++it) {
|
67
|
+
o.pack(it->first);
|
68
|
+
o.pack(it->second);
|
69
|
+
}
|
70
|
+
return o;
|
71
|
+
}
|
72
|
+
|
73
|
+
template <typename K, typename V>
|
74
|
+
inline void operator<< (object::with_zone& o, const type::assoc_vector<K,V>& v)
|
75
|
+
{
|
76
|
+
o.type = type::MAP;
|
77
|
+
if(v.empty()) {
|
78
|
+
o.via.map.ptr = NULL;
|
79
|
+
o.via.map.size = 0;
|
80
|
+
} else {
|
81
|
+
object_kv* p = (object_kv*)o.zone->malloc(sizeof(object_kv)*v.size());
|
82
|
+
object_kv* const pend = p + v.size();
|
83
|
+
o.via.map.ptr = p;
|
84
|
+
o.via.map.size = v.size();
|
85
|
+
typename type::assoc_vector<K,V>::const_iterator it(v.begin());
|
86
|
+
do {
|
87
|
+
p->key = object(it->first, o.zone);
|
88
|
+
p->val = object(it->second, o.zone);
|
89
|
+
++p;
|
90
|
+
++it;
|
91
|
+
} while(p < pend);
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
|
96
|
+
template <typename K, typename V>
|
97
|
+
inline std::map<K, V> operator>> (object o, std::map<K, V>& v)
|
98
|
+
{
|
99
|
+
if(o.type != type::MAP) { throw type_error(); }
|
100
|
+
object_kv* p(o.via.map.ptr);
|
101
|
+
object_kv* const pend(o.via.map.ptr + o.via.map.size);
|
102
|
+
for(; p != pend; ++p) {
|
103
|
+
K key;
|
104
|
+
p->key.convert(&key);
|
105
|
+
typename std::map<K,V>::iterator it(v.lower_bound(key));
|
106
|
+
if(it != v.end() && !(key < it->first)) {
|
107
|
+
p->val.convert(&it->second);
|
108
|
+
} else {
|
109
|
+
V val;
|
110
|
+
p->val.convert(&val);
|
111
|
+
v.insert(it, std::pair<K,V>(key, val));
|
112
|
+
}
|
113
|
+
}
|
114
|
+
return v;
|
115
|
+
}
|
116
|
+
|
117
|
+
template <typename Stream, typename K, typename V>
|
118
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::map<K,V>& v)
|
119
|
+
{
|
120
|
+
o.pack_map(v.size());
|
121
|
+
for(typename std::map<K,V>::const_iterator it(v.begin()), it_end(v.end());
|
122
|
+
it != it_end; ++it) {
|
123
|
+
o.pack(it->first);
|
124
|
+
o.pack(it->second);
|
125
|
+
}
|
126
|
+
return o;
|
127
|
+
}
|
128
|
+
|
129
|
+
template <typename K, typename V>
|
130
|
+
inline void operator<< (object::with_zone& o, const std::map<K,V>& v)
|
131
|
+
{
|
132
|
+
o.type = type::MAP;
|
133
|
+
if(v.empty()) {
|
134
|
+
o.via.map.ptr = NULL;
|
135
|
+
o.via.map.size = 0;
|
136
|
+
} else {
|
137
|
+
object_kv* p = (object_kv*)o.zone->malloc(sizeof(object_kv)*v.size());
|
138
|
+
object_kv* const pend = p + v.size();
|
139
|
+
o.via.map.ptr = p;
|
140
|
+
o.via.map.size = v.size();
|
141
|
+
typename std::map<K,V>::const_iterator it(v.begin());
|
142
|
+
do {
|
143
|
+
p->key = object(it->first, o.zone);
|
144
|
+
p->val = object(it->second, o.zone);
|
145
|
+
++p;
|
146
|
+
++it;
|
147
|
+
} while(p < pend);
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
template <typename K, typename V>
|
153
|
+
inline std::multimap<K, V> operator>> (object o, std::multimap<K, V>& v)
|
154
|
+
{
|
155
|
+
if(o.type != type::MAP) { throw type_error(); }
|
156
|
+
object_kv* p(o.via.map.ptr);
|
157
|
+
object_kv* const pend(o.via.map.ptr + o.via.map.size);
|
158
|
+
for(; p != pend; ++p) {
|
159
|
+
std::pair<K, V> value;
|
160
|
+
p->key.convert(&value.first);
|
161
|
+
p->val.convert(&value.second);
|
162
|
+
v.insert(value);
|
163
|
+
}
|
164
|
+
return v;
|
165
|
+
}
|
166
|
+
|
167
|
+
template <typename Stream, typename K, typename V>
|
168
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::multimap<K,V>& v)
|
169
|
+
{
|
170
|
+
o.pack_map(v.size());
|
171
|
+
for(typename std::multimap<K,V>::const_iterator it(v.begin()), it_end(v.end());
|
172
|
+
it != it_end; ++it) {
|
173
|
+
o.pack(it->first);
|
174
|
+
o.pack(it->second);
|
175
|
+
}
|
176
|
+
return o;
|
177
|
+
}
|
178
|
+
|
179
|
+
template <typename K, typename V>
|
180
|
+
inline void operator<< (object::with_zone& o, const std::multimap<K,V>& v)
|
181
|
+
{
|
182
|
+
o.type = type::MAP;
|
183
|
+
if(v.empty()) {
|
184
|
+
o.via.map.ptr = NULL;
|
185
|
+
o.via.map.size = 0;
|
186
|
+
} else {
|
187
|
+
object_kv* p = (object_kv*)o.zone->malloc(sizeof(object_kv)*v.size());
|
188
|
+
object_kv* const pend = p + v.size();
|
189
|
+
o.via.map.ptr = p;
|
190
|
+
o.via.map.size = v.size();
|
191
|
+
typename std::multimap<K,V>::const_iterator it(v.begin());
|
192
|
+
do {
|
193
|
+
p->key = object(it->first, o.zone);
|
194
|
+
p->val = object(it->second, o.zone);
|
195
|
+
++p;
|
196
|
+
++it;
|
197
|
+
} while(p < pend);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
201
|
+
|
202
|
+
} // namespace msgpack
|
203
|
+
|
204
|
+
#endif /* msgpack/type/map.hpp */
|
205
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_NIL_HPP__
|
19
|
+
#define MSGPACK_TYPE_NIL_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
|
23
|
+
namespace msgpack {
|
24
|
+
|
25
|
+
namespace type {
|
26
|
+
|
27
|
+
struct nil { };
|
28
|
+
|
29
|
+
} // namespace type
|
30
|
+
|
31
|
+
|
32
|
+
inline type::nil& operator>> (object o, type::nil& v)
|
33
|
+
{
|
34
|
+
if(o.type != type::NIL) { throw type_error(); }
|
35
|
+
return v;
|
36
|
+
}
|
37
|
+
|
38
|
+
template <typename Stream>
|
39
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const type::nil& v)
|
40
|
+
{
|
41
|
+
o.pack_nil();
|
42
|
+
return o;
|
43
|
+
}
|
44
|
+
|
45
|
+
inline void operator<< (object& o, type::nil v)
|
46
|
+
{
|
47
|
+
o.type = type::NIL;
|
48
|
+
}
|
49
|
+
|
50
|
+
inline void operator<< (object::with_zone& o, type::nil v)
|
51
|
+
{ static_cast<object&>(o) << v; }
|
52
|
+
|
53
|
+
|
54
|
+
template <>
|
55
|
+
inline void object::as<void>() const
|
56
|
+
{
|
57
|
+
msgpack::type::nil v;
|
58
|
+
convert(&v);
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
} // namespace msgpack
|
63
|
+
|
64
|
+
#endif /* msgpack/type/nil.hpp */
|
65
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_PAIR_HPP__
|
19
|
+
#define MSGPACK_TYPE_PAIR_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
#include <utility>
|
23
|
+
|
24
|
+
namespace msgpack {
|
25
|
+
|
26
|
+
|
27
|
+
template <typename T1, typename T2>
|
28
|
+
inline std::pair<T1, T2>& operator>> (object o, std::pair<T1, T2>& v)
|
29
|
+
{
|
30
|
+
if(o.type != type::ARRAY) { throw type_error(); }
|
31
|
+
if(o.via.array.size != 2) { throw type_error(); }
|
32
|
+
o.via.array.ptr[0].convert(&v.first);
|
33
|
+
o.via.array.ptr[1].convert(&v.second);
|
34
|
+
return v;
|
35
|
+
}
|
36
|
+
|
37
|
+
template <typename Stream, typename T1, typename T2>
|
38
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::pair<T1, T2>& v)
|
39
|
+
{
|
40
|
+
o.pack_array(2);
|
41
|
+
o.pack(v.first);
|
42
|
+
o.pack(v.second);
|
43
|
+
return o;
|
44
|
+
}
|
45
|
+
|
46
|
+
template <typename T1, typename T2>
|
47
|
+
inline void operator<< (object::with_zone& o, const std::pair<T1, T2>& v)
|
48
|
+
{
|
49
|
+
o.type = type::ARRAY;
|
50
|
+
object* p = (object*)o.zone->malloc(sizeof(object)*2);
|
51
|
+
o.via.array.ptr = p;
|
52
|
+
o.via.array.size = 2;
|
53
|
+
p[0] = object(v.first, o.zone);
|
54
|
+
p[1] = object(v.second, o.zone);
|
55
|
+
}
|
56
|
+
|
57
|
+
|
58
|
+
} // namespace msgpack
|
59
|
+
|
60
|
+
#endif /* msgpack/type/pair.hpp */
|
61
|
+
|
@@ -0,0 +1,94 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_RAW_HPP__
|
19
|
+
#define MSGPACK_TYPE_RAW_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
#include <string.h>
|
23
|
+
#include <string>
|
24
|
+
|
25
|
+
namespace msgpack {
|
26
|
+
|
27
|
+
namespace type {
|
28
|
+
|
29
|
+
struct raw_ref {
|
30
|
+
raw_ref() : size(0), ptr(NULL) {}
|
31
|
+
raw_ref(const char* p, uint32_t s) : size(s), ptr(p) {}
|
32
|
+
|
33
|
+
uint32_t size;
|
34
|
+
const char* ptr;
|
35
|
+
|
36
|
+
std::string str() const { return std::string(ptr, size); }
|
37
|
+
|
38
|
+
bool operator== (const raw_ref& x) const
|
39
|
+
{
|
40
|
+
return size == x.size && memcmp(ptr, x.ptr, size) == 0;
|
41
|
+
}
|
42
|
+
|
43
|
+
bool operator!= (const raw_ref& x) const
|
44
|
+
{
|
45
|
+
return !(*this != x);
|
46
|
+
}
|
47
|
+
|
48
|
+
bool operator< (const raw_ref& x) const
|
49
|
+
{
|
50
|
+
if(size == x.size) { return memcmp(ptr, x.ptr, size) < 0; }
|
51
|
+
else { return size < x.size; }
|
52
|
+
}
|
53
|
+
|
54
|
+
bool operator> (const raw_ref& x) const
|
55
|
+
{
|
56
|
+
if(size == x.size) { return memcmp(ptr, x.ptr, size) > 0; }
|
57
|
+
else { return size > x.size; }
|
58
|
+
}
|
59
|
+
};
|
60
|
+
|
61
|
+
} // namespace type
|
62
|
+
|
63
|
+
|
64
|
+
inline type::raw_ref& operator>> (object o, type::raw_ref& v)
|
65
|
+
{
|
66
|
+
if(o.type != type::RAW) { throw type_error(); }
|
67
|
+
v.ptr = o.via.raw.ptr;
|
68
|
+
v.size = o.via.raw.size;
|
69
|
+
return v;
|
70
|
+
}
|
71
|
+
|
72
|
+
template <typename Stream>
|
73
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const type::raw_ref& v)
|
74
|
+
{
|
75
|
+
o.pack_raw(v.size);
|
76
|
+
o.pack_raw_body(v.ptr, v.size);
|
77
|
+
return o;
|
78
|
+
}
|
79
|
+
|
80
|
+
inline void operator<< (object& o, const type::raw_ref& v)
|
81
|
+
{
|
82
|
+
o.type = type::RAW;
|
83
|
+
o.via.raw.ptr = v.ptr;
|
84
|
+
o.via.raw.size = v.size;
|
85
|
+
}
|
86
|
+
|
87
|
+
inline void operator<< (object::with_zone& o, const type::raw_ref& v)
|
88
|
+
{ static_cast<object&>(o) << v; }
|
89
|
+
|
90
|
+
|
91
|
+
} // namespace msgpack
|
92
|
+
|
93
|
+
#endif /* msgpack/type/raw.hpp */
|
94
|
+
|
@@ -0,0 +1,122 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_SET_HPP__
|
19
|
+
#define MSGPACK_TYPE_SET_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
#include <set>
|
23
|
+
|
24
|
+
namespace msgpack {
|
25
|
+
|
26
|
+
|
27
|
+
template <typename T>
|
28
|
+
inline std::set<T>& operator>> (object o, std::set<T>& v)
|
29
|
+
{
|
30
|
+
if(o.type != type::ARRAY) { throw type_error(); }
|
31
|
+
object* p = o.via.array.ptr + o.via.array.size;
|
32
|
+
object* const pbegin = o.via.array.ptr;
|
33
|
+
while(p > pbegin) {
|
34
|
+
--p;
|
35
|
+
v.insert(p->as<T>());
|
36
|
+
}
|
37
|
+
return v;
|
38
|
+
}
|
39
|
+
|
40
|
+
template <typename Stream, typename T>
|
41
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::set<T>& v)
|
42
|
+
{
|
43
|
+
o.pack_array(v.size());
|
44
|
+
for(typename std::set<T>::const_iterator it(v.begin()), it_end(v.end());
|
45
|
+
it != it_end; ++it) {
|
46
|
+
o.pack(*it);
|
47
|
+
}
|
48
|
+
return o;
|
49
|
+
}
|
50
|
+
|
51
|
+
template <typename T>
|
52
|
+
inline void operator<< (object::with_zone& o, const std::set<T>& v)
|
53
|
+
{
|
54
|
+
o.type = type::ARRAY;
|
55
|
+
if(v.empty()) {
|
56
|
+
o.via.array.ptr = NULL;
|
57
|
+
o.via.array.size = 0;
|
58
|
+
} else {
|
59
|
+
object* p = (object*)o.zone->malloc(sizeof(object)*v.size());
|
60
|
+
object* const pend = p + v.size();
|
61
|
+
o.via.array.ptr = p;
|
62
|
+
o.via.array.size = v.size();
|
63
|
+
typename std::set<T>::const_iterator it(v.begin());
|
64
|
+
do {
|
65
|
+
*p = object(*it, o.zone);
|
66
|
+
++p;
|
67
|
+
++it;
|
68
|
+
} while(p < pend);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
template <typename T>
|
74
|
+
inline std::multiset<T>& operator>> (object o, std::multiset<T>& v)
|
75
|
+
{
|
76
|
+
if(o.type != type::ARRAY) { throw type_error(); }
|
77
|
+
object* p = o.via.array.ptr + o.via.array.size;
|
78
|
+
object* const pbegin = o.via.array.ptr;
|
79
|
+
while(p > pbegin) {
|
80
|
+
--p;
|
81
|
+
v.insert(p->as<T>());
|
82
|
+
}
|
83
|
+
return v;
|
84
|
+
}
|
85
|
+
|
86
|
+
template <typename Stream, typename T>
|
87
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::multiset<T>& v)
|
88
|
+
{
|
89
|
+
o.pack_array(v.size());
|
90
|
+
for(typename std::multiset<T>::const_iterator it(v.begin()), it_end(v.end());
|
91
|
+
it != it_end; ++it) {
|
92
|
+
o.pack(*it);
|
93
|
+
}
|
94
|
+
return o;
|
95
|
+
}
|
96
|
+
|
97
|
+
template <typename T>
|
98
|
+
inline void operator<< (object::with_zone& o, const std::multiset<T>& v)
|
99
|
+
{
|
100
|
+
o.type = type::ARRAY;
|
101
|
+
if(v.empty()) {
|
102
|
+
o.via.array.ptr = NULL;
|
103
|
+
o.via.array.size = 0;
|
104
|
+
} else {
|
105
|
+
object* p = (object*)o.zone->malloc(sizeof(object)*v.size());
|
106
|
+
object* const pend = p + v.size();
|
107
|
+
o.via.array.ptr = p;
|
108
|
+
o.via.array.size = v.size();
|
109
|
+
typename std::multiset<T>::const_iterator it(v.begin());
|
110
|
+
do {
|
111
|
+
*p = object(*it, o.zone);
|
112
|
+
++p;
|
113
|
+
++it;
|
114
|
+
} while(p < pend);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
} // namespace msgpack
|
120
|
+
|
121
|
+
#endif /* msgpack/type/set.hpp */
|
122
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
//
|
2
|
+
// MessagePack for C++ static resolution routine
|
3
|
+
//
|
4
|
+
// Copyright (C) 2008-2009 FURUHASHI Sadayuki
|
5
|
+
//
|
6
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
// you may not use this file except in compliance with the License.
|
8
|
+
// You may obtain a copy of the License at
|
9
|
+
//
|
10
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
//
|
12
|
+
// Unless required by applicable law or agreed to in writing, software
|
13
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
// See the License for the specific language governing permissions and
|
16
|
+
// limitations under the License.
|
17
|
+
//
|
18
|
+
#ifndef MSGPACK_TYPE_STRING_HPP__
|
19
|
+
#define MSGPACK_TYPE_STRING_HPP__
|
20
|
+
|
21
|
+
#include "msgpack/object.hpp"
|
22
|
+
#include <string>
|
23
|
+
|
24
|
+
namespace msgpack {
|
25
|
+
|
26
|
+
|
27
|
+
inline std::string& operator>> (object o, std::string& v)
|
28
|
+
{
|
29
|
+
if(o.type != type::RAW) { throw type_error(); }
|
30
|
+
v.assign(o.via.raw.ptr, o.via.raw.size);
|
31
|
+
return v;
|
32
|
+
}
|
33
|
+
|
34
|
+
template <typename Stream>
|
35
|
+
inline packer<Stream>& operator<< (packer<Stream>& o, const std::string& v)
|
36
|
+
{
|
37
|
+
o.pack_raw(v.size());
|
38
|
+
o.pack_raw_body(v.data(), v.size());
|
39
|
+
return o;
|
40
|
+
}
|
41
|
+
|
42
|
+
inline void operator<< (object::with_zone& o, const std::string& v)
|
43
|
+
{
|
44
|
+
o.type = type::RAW;
|
45
|
+
char* ptr = (char*)o.zone->malloc(v.size());
|
46
|
+
o.via.raw.ptr = ptr;
|
47
|
+
o.via.raw.size = (uint32_t)v.size();
|
48
|
+
memcpy(ptr, v.data(), v.size());
|
49
|
+
}
|
50
|
+
|
51
|
+
inline void operator<< (object& o, const std::string& v)
|
52
|
+
{
|
53
|
+
o.type = type::RAW;
|
54
|
+
o.via.raw.ptr = v.data();
|
55
|
+
o.via.raw.size = (uint32_t)v.size();
|
56
|
+
}
|
57
|
+
|
58
|
+
|
59
|
+
} // namespace msgpack
|
60
|
+
|
61
|
+
#endif /* msgpack/type/string.hpp */
|
62
|
+
|