rj_schema 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +18 -0
- data/ext/rj_schema/extconf.rb +7 -0
- data/ext/rj_schema/rapidjson/CHANGELOG.md +158 -0
- data/ext/rj_schema/rapidjson/CMakeLists.txt +221 -0
- data/ext/rj_schema/rapidjson/CMakeModules/FindGTestSrc.cmake +30 -0
- data/ext/rj_schema/rapidjson/RapidJSON.pc.in +7 -0
- data/ext/rj_schema/rapidjson/RapidJSONConfig.cmake.in +15 -0
- data/ext/rj_schema/rapidjson/RapidJSONConfigVersion.cmake.in +10 -0
- data/ext/rj_schema/rapidjson/appveyor.yml +41 -0
- data/ext/rj_schema/rapidjson/bin/data/glossary.json +22 -0
- data/ext/rj_schema/rapidjson/bin/data/menu.json +27 -0
- data/ext/rj_schema/rapidjson/bin/data/readme.txt +1 -0
- data/ext/rj_schema/rapidjson/bin/data/sample.json +3315 -0
- data/ext/rj_schema/rapidjson/bin/data/webapp.json +88 -0
- data/ext/rj_schema/rapidjson/bin/data/widget.json +26 -0
- data/ext/rj_schema/rapidjson/bin/draft-04/schema +150 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16be.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16bebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16le.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf16lebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32be.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32bebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32le.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf32lebom.json +0 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf8.json +7 -0
- data/ext/rj_schema/rapidjson/bin/encodings/utf8bom.json +7 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail1.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail10.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail11.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail12.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail13.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail14.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail15.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail16.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail17.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail18.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail19.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail2.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail20.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail21.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail22.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail23.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail24.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail25.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail26.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail27.json +2 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail28.json +2 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail29.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail3.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail30.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail31.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail32.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail33.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail4.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail5.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail6.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail7.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail8.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/fail9.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass1.json +58 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass2.json +1 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/pass3.json +6 -0
- data/ext/rj_schema/rapidjson/bin/jsonchecker/readme.txt +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/LICENSE +19 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/README.md +148 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/bin/jsonschema_suite +283 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/integer.json +3 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/subSchemas.json +8 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json +82 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json +88 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/default.json +49 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/dependencies.json +108 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/disallow.json +80 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json +60 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/enum.json +71 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/extends.json +94 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/items.json +46 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maximum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minimum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json +107 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/format.json +222 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json +18 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json +15 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/pattern.json +34 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json +110 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/properties.json +92 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/ref.json +159 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/refRemote.json +74 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/required.json +53 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/type.json +474 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json +79 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json +82 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json +88 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/allOf.json +112 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/anyOf.json +68 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/default.json +49 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/definitions.json +32 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/dependencies.json +113 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/enum.json +72 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/items.json +46 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maximum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minItems.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minLength.json +33 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minProperties.json +28 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minimum.json +42 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json +60 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/not.json +96 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/oneOf.json +68 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json +107 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/format.json +148 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json +15 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/pattern.json +34 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json +110 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/properties.json +92 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/ref.json +159 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/refRemote.json +74 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/required.json +39 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/type.json +330 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json +79 -0
- data/ext/rj_schema/rapidjson/bin/jsonschema/tox.ini +8 -0
- data/ext/rj_schema/rapidjson/bin/types/booleans.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/floats.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/guids.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/integers.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/mixed.json +592 -0
- data/ext/rj_schema/rapidjson/bin/types/nulls.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/paragraphs.json +102 -0
- data/ext/rj_schema/rapidjson/bin/types/readme.txt +1 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/LICENSE +45 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/README.md +7 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis +38 -0
- data/ext/rj_schema/rapidjson/doc/CMakeLists.txt +27 -0
- data/ext/rj_schema/rapidjson/doc/Doxyfile.in +2369 -0
- data/ext/rj_schema/rapidjson/doc/Doxyfile.zh-cn.in +2369 -0
- data/ext/rj_schema/rapidjson/doc/diagram/architecture.dot +50 -0
- data/ext/rj_schema/rapidjson/doc/diagram/architecture.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.dot +65 -0
- data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +62 -0
- data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/makefile +8 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move1.dot +47 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move1.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move2.dot +62 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move2.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move3.dot +60 -0
- data/ext/rj_schema/rapidjson/doc/diagram/move3.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.dot +56 -0
- data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/simpledom.dot +54 -0
- data/ext/rj_schema/rapidjson/doc/diagram/simpledom.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/tutorial.dot +58 -0
- data/ext/rj_schema/rapidjson/doc/diagram/tutorial.png +0 -0
- data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.dot +73 -0
- data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.png +0 -0
- data/ext/rj_schema/rapidjson/doc/dom.md +280 -0
- data/ext/rj_schema/rapidjson/doc/dom.zh-cn.md +284 -0
- data/ext/rj_schema/rapidjson/doc/encoding.md +146 -0
- data/ext/rj_schema/rapidjson/doc/encoding.zh-cn.md +152 -0
- data/ext/rj_schema/rapidjson/doc/faq.md +289 -0
- data/ext/rj_schema/rapidjson/doc/faq.zh-cn.md +290 -0
- data/ext/rj_schema/rapidjson/doc/features.md +104 -0
- data/ext/rj_schema/rapidjson/doc/features.zh-cn.md +103 -0
- data/ext/rj_schema/rapidjson/doc/internals.md +368 -0
- data/ext/rj_schema/rapidjson/doc/internals.zh-cn.md +363 -0
- data/ext/rj_schema/rapidjson/doc/logo/rapidjson.png +0 -0
- data/ext/rj_schema/rapidjson/doc/logo/rapidjson.svg +119 -0
- data/ext/rj_schema/rapidjson/doc/misc/DoxygenLayout.xml +194 -0
- data/ext/rj_schema/rapidjson/doc/misc/doxygenextra.css +274 -0
- data/ext/rj_schema/rapidjson/doc/misc/footer.html +11 -0
- data/ext/rj_schema/rapidjson/doc/misc/header.html +24 -0
- data/ext/rj_schema/rapidjson/doc/npm.md +31 -0
- data/ext/rj_schema/rapidjson/doc/performance.md +26 -0
- data/ext/rj_schema/rapidjson/doc/performance.zh-cn.md +26 -0
- data/ext/rj_schema/rapidjson/doc/pointer.md +234 -0
- data/ext/rj_schema/rapidjson/doc/pointer.zh-cn.md +234 -0
- data/ext/rj_schema/rapidjson/doc/sax.md +509 -0
- data/ext/rj_schema/rapidjson/doc/sax.zh-cn.md +487 -0
- data/ext/rj_schema/rapidjson/doc/schema.md +505 -0
- data/ext/rj_schema/rapidjson/doc/schema.zh-cn.md +237 -0
- data/ext/rj_schema/rapidjson/doc/stream.md +426 -0
- data/ext/rj_schema/rapidjson/doc/stream.zh-cn.md +426 -0
- data/ext/rj_schema/rapidjson/doc/tutorial.md +536 -0
- data/ext/rj_schema/rapidjson/doc/tutorial.zh-cn.md +534 -0
- data/ext/rj_schema/rapidjson/docker/debian/Dockerfile +8 -0
- data/ext/rj_schema/rapidjson/example/CMakeLists.txt +45 -0
- data/ext/rj_schema/rapidjson/example/archiver/archiver.cpp +292 -0
- data/ext/rj_schema/rapidjson/example/archiver/archiver.h +145 -0
- data/ext/rj_schema/rapidjson/example/archiver/archivertest.cpp +287 -0
- data/ext/rj_schema/rapidjson/example/capitalize/capitalize.cpp +67 -0
- data/ext/rj_schema/rapidjson/example/condense/condense.cpp +32 -0
- data/ext/rj_schema/rapidjson/example/filterkey/filterkey.cpp +135 -0
- data/ext/rj_schema/rapidjson/example/filterkeydom/filterkeydom.cpp +170 -0
- data/ext/rj_schema/rapidjson/example/jsonx/jsonx.cpp +207 -0
- data/ext/rj_schema/rapidjson/example/lookaheadparser/lookaheadparser.cpp +350 -0
- data/ext/rj_schema/rapidjson/example/messagereader/messagereader.cpp +105 -0
- data/ext/rj_schema/rapidjson/example/parsebyparts/parsebyparts.cpp +176 -0
- data/ext/rj_schema/rapidjson/example/pretty/pretty.cpp +30 -0
- data/ext/rj_schema/rapidjson/example/prettyauto/prettyauto.cpp +56 -0
- data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +78 -0
- data/ext/rj_schema/rapidjson/example/serialize/serialize.cpp +173 -0
- data/ext/rj_schema/rapidjson/example/simpledom/simpledom.cpp +29 -0
- data/ext/rj_schema/rapidjson/example/simplepullreader/simplepullreader.cpp +53 -0
- data/ext/rj_schema/rapidjson/example/simplereader/simplereader.cpp +42 -0
- data/ext/rj_schema/rapidjson/example/simplewriter/simplewriter.cpp +36 -0
- data/ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp +151 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +271 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +78 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/document.h +2630 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +299 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +716 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +74 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +161 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +99 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +104 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +151 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +290 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +258 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +245 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +78 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +304 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +181 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +55 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +734 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +231 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +69 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +269 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +46 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +115 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +70 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +71 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/inttypes.h +316 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/stdint.h +300 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +81 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +1363 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +277 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +628 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +2222 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +2479 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +223 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +121 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +716 -0
- data/ext/rj_schema/rapidjson/include_dirs.js +2 -0
- data/ext/rj_schema/rapidjson/library.json +15 -0
- data/ext/rj_schema/rapidjson/license.txt +57 -0
- data/ext/rj_schema/rapidjson/package.json +24 -0
- data/ext/rj_schema/rapidjson/rapidjson.autopkg +77 -0
- data/ext/rj_schema/rapidjson/readme.md +160 -0
- data/ext/rj_schema/rapidjson/readme.zh-cn.md +152 -0
- data/ext/rj_schema/rapidjson/test/CMakeLists.txt +20 -0
- data/ext/rj_schema/rapidjson/test/perftest/CMakeLists.txt +28 -0
- data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +974 -0
- data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +24 -0
- data/ext/rj_schema/rapidjson/test/perftest/perftest.h +185 -0
- data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +166 -0
- data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +472 -0
- data/ext/rj_schema/rapidjson/test/perftest/schematest.cpp +216 -0
- data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +92 -0
- data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +102 -0
- data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +133 -0
- data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +115 -0
- data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +672 -0
- data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +98 -0
- data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +313 -0
- data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +451 -0
- data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +112 -0
- data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +230 -0
- data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +181 -0
- data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +160 -0
- data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +143 -0
- data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +70 -0
- data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +92 -0
- data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +1529 -0
- data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +344 -0
- data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +1895 -0
- data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +638 -0
- data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +2009 -0
- data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +219 -0
- data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +30 -0
- data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +192 -0
- data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +132 -0
- data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +51 -0
- data/ext/rj_schema/rapidjson/test/unittest/unittest.h +140 -0
- data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +1829 -0
- data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +598 -0
- data/ext/rj_schema/rapidjson/test/valgrind.supp +17 -0
- data/ext/rj_schema/rapidjson/travis-doxygen.sh +121 -0
- data/ext/rj_schema/rj_schema.cpp +136 -0
- data/lib/rj_schema.rb +7 -0
- metadata +371 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
cmake_minimum_required(VERSION 2.8)
|
2
|
+
|
3
|
+
if(POLICY CMP0054)
|
4
|
+
cmake_policy(SET CMP0054 NEW)
|
5
|
+
endif()
|
6
|
+
|
7
|
+
set(EXAMPLES
|
8
|
+
capitalize
|
9
|
+
condense
|
10
|
+
filterkey
|
11
|
+
filterkeydom
|
12
|
+
jsonx
|
13
|
+
lookaheadparser
|
14
|
+
messagereader
|
15
|
+
parsebyparts
|
16
|
+
pretty
|
17
|
+
prettyauto
|
18
|
+
schemavalidator
|
19
|
+
serialize
|
20
|
+
simpledom
|
21
|
+
simplereader
|
22
|
+
simplepullreader
|
23
|
+
simplewriter
|
24
|
+
tutorial)
|
25
|
+
|
26
|
+
include_directories("../include/")
|
27
|
+
|
28
|
+
add_definitions(-D__STDC_FORMAT_MACROS)
|
29
|
+
set_property(DIRECTORY PROPERTY COMPILE_OPTIONS ${EXTRA_CXX_FLAGS})
|
30
|
+
|
31
|
+
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
32
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
33
|
+
endif()
|
34
|
+
|
35
|
+
add_executable(archivertest archiver/archiver.cpp archiver/archivertest.cpp)
|
36
|
+
|
37
|
+
foreach (example ${EXAMPLES})
|
38
|
+
add_executable(${example} ${example}/${example}.cpp)
|
39
|
+
endforeach()
|
40
|
+
|
41
|
+
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
42
|
+
target_link_libraries(parsebyparts pthread)
|
43
|
+
endif()
|
44
|
+
|
45
|
+
add_custom_target(examples ALL DEPENDS ${EXAMPLES})
|
@@ -0,0 +1,292 @@
|
|
1
|
+
#include "archiver.h"
|
2
|
+
#include <cassert>
|
3
|
+
#include <stack>
|
4
|
+
#include "rapidjson/document.h"
|
5
|
+
#include "rapidjson/prettywriter.h"
|
6
|
+
#include "rapidjson/stringbuffer.h"
|
7
|
+
|
8
|
+
using namespace rapidjson;
|
9
|
+
|
10
|
+
struct JsonReaderStackItem {
|
11
|
+
enum State {
|
12
|
+
BeforeStart, //!< An object/array is in the stack but it is not yet called by StartObject()/StartArray().
|
13
|
+
Started, //!< An object/array is called by StartObject()/StartArray().
|
14
|
+
Closed //!< An array is closed after read all element, but before EndArray().
|
15
|
+
};
|
16
|
+
|
17
|
+
JsonReaderStackItem(const Value* value, State state) : value(value), state(state), index() {}
|
18
|
+
|
19
|
+
const Value* value;
|
20
|
+
State state;
|
21
|
+
SizeType index; // For array iteration
|
22
|
+
};
|
23
|
+
|
24
|
+
typedef std::stack<JsonReaderStackItem> JsonReaderStack;
|
25
|
+
|
26
|
+
#define DOCUMENT reinterpret_cast<Document*>(mDocument)
|
27
|
+
#define STACK (reinterpret_cast<JsonReaderStack*>(mStack))
|
28
|
+
#define TOP (STACK->top())
|
29
|
+
#define CURRENT (*TOP.value)
|
30
|
+
|
31
|
+
JsonReader::JsonReader(const char* json) : mDocument(), mStack(), mError(false) {
|
32
|
+
mDocument = new Document;
|
33
|
+
DOCUMENT->Parse(json);
|
34
|
+
if (DOCUMENT->HasParseError())
|
35
|
+
mError = true;
|
36
|
+
else {
|
37
|
+
mStack = new JsonReaderStack;
|
38
|
+
STACK->push(JsonReaderStackItem(DOCUMENT, JsonReaderStackItem::BeforeStart));
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
JsonReader::~JsonReader() {
|
43
|
+
delete DOCUMENT;
|
44
|
+
delete STACK;
|
45
|
+
}
|
46
|
+
|
47
|
+
// Archive concept
|
48
|
+
JsonReader& JsonReader::StartObject() {
|
49
|
+
if (!mError) {
|
50
|
+
if (CURRENT.IsObject() && TOP.state == JsonReaderStackItem::BeforeStart)
|
51
|
+
TOP.state = JsonReaderStackItem::Started;
|
52
|
+
else
|
53
|
+
mError = true;
|
54
|
+
}
|
55
|
+
return *this;
|
56
|
+
}
|
57
|
+
|
58
|
+
JsonReader& JsonReader::EndObject() {
|
59
|
+
if (!mError) {
|
60
|
+
if (CURRENT.IsObject() && TOP.state == JsonReaderStackItem::Started)
|
61
|
+
Next();
|
62
|
+
else
|
63
|
+
mError = true;
|
64
|
+
}
|
65
|
+
return *this;
|
66
|
+
}
|
67
|
+
|
68
|
+
JsonReader& JsonReader::Member(const char* name) {
|
69
|
+
if (!mError) {
|
70
|
+
if (CURRENT.IsObject() && TOP.state == JsonReaderStackItem::Started) {
|
71
|
+
Value::ConstMemberIterator memberItr = CURRENT.FindMember(name);
|
72
|
+
if (memberItr != CURRENT.MemberEnd())
|
73
|
+
STACK->push(JsonReaderStackItem(&memberItr->value, JsonReaderStackItem::BeforeStart));
|
74
|
+
else
|
75
|
+
mError = true;
|
76
|
+
}
|
77
|
+
else
|
78
|
+
mError = true;
|
79
|
+
}
|
80
|
+
return *this;
|
81
|
+
}
|
82
|
+
|
83
|
+
bool JsonReader::HasMember(const char* name) const {
|
84
|
+
if (!mError && CURRENT.IsObject() && TOP.state == JsonReaderStackItem::Started)
|
85
|
+
return CURRENT.HasMember(name);
|
86
|
+
return false;
|
87
|
+
}
|
88
|
+
|
89
|
+
JsonReader& JsonReader::StartArray(size_t* size) {
|
90
|
+
if (!mError) {
|
91
|
+
if (CURRENT.IsArray() && TOP.state == JsonReaderStackItem::BeforeStart) {
|
92
|
+
TOP.state = JsonReaderStackItem::Started;
|
93
|
+
if (size)
|
94
|
+
*size = CURRENT.Size();
|
95
|
+
|
96
|
+
if (!CURRENT.Empty()) {
|
97
|
+
const Value* value = &CURRENT[TOP.index];
|
98
|
+
STACK->push(JsonReaderStackItem(value, JsonReaderStackItem::BeforeStart));
|
99
|
+
}
|
100
|
+
else
|
101
|
+
TOP.state = JsonReaderStackItem::Closed;
|
102
|
+
}
|
103
|
+
else
|
104
|
+
mError = true;
|
105
|
+
}
|
106
|
+
return *this;
|
107
|
+
}
|
108
|
+
|
109
|
+
JsonReader& JsonReader::EndArray() {
|
110
|
+
if (!mError) {
|
111
|
+
if (CURRENT.IsArray() && TOP.state == JsonReaderStackItem::Closed)
|
112
|
+
Next();
|
113
|
+
else
|
114
|
+
mError = true;
|
115
|
+
}
|
116
|
+
return *this;
|
117
|
+
}
|
118
|
+
|
119
|
+
JsonReader& JsonReader::operator&(bool& b) {
|
120
|
+
if (!mError) {
|
121
|
+
if (CURRENT.IsBool()) {
|
122
|
+
b = CURRENT.GetBool();
|
123
|
+
Next();
|
124
|
+
}
|
125
|
+
else
|
126
|
+
mError = true;
|
127
|
+
}
|
128
|
+
return *this;
|
129
|
+
}
|
130
|
+
|
131
|
+
JsonReader& JsonReader::operator&(unsigned& u) {
|
132
|
+
if (!mError) {
|
133
|
+
if (CURRENT.IsUint()) {
|
134
|
+
u = CURRENT.GetUint();
|
135
|
+
Next();
|
136
|
+
}
|
137
|
+
else
|
138
|
+
mError = true;
|
139
|
+
}
|
140
|
+
return *this;
|
141
|
+
}
|
142
|
+
|
143
|
+
JsonReader& JsonReader::operator&(int& i) {
|
144
|
+
if (!mError) {
|
145
|
+
if (CURRENT.IsInt()) {
|
146
|
+
i = CURRENT.GetInt();
|
147
|
+
Next();
|
148
|
+
}
|
149
|
+
else
|
150
|
+
mError = true;
|
151
|
+
}
|
152
|
+
return *this;
|
153
|
+
}
|
154
|
+
|
155
|
+
JsonReader& JsonReader::operator&(double& d) {
|
156
|
+
if (!mError) {
|
157
|
+
if (CURRENT.IsNumber()) {
|
158
|
+
d = CURRENT.GetDouble();
|
159
|
+
Next();
|
160
|
+
}
|
161
|
+
else
|
162
|
+
mError = true;
|
163
|
+
}
|
164
|
+
return *this;
|
165
|
+
}
|
166
|
+
|
167
|
+
JsonReader& JsonReader::operator&(std::string& s) {
|
168
|
+
if (!mError) {
|
169
|
+
if (CURRENT.IsString()) {
|
170
|
+
s = CURRENT.GetString();
|
171
|
+
Next();
|
172
|
+
}
|
173
|
+
else
|
174
|
+
mError = true;
|
175
|
+
}
|
176
|
+
return *this;
|
177
|
+
}
|
178
|
+
|
179
|
+
JsonReader& JsonReader::SetNull() {
|
180
|
+
// This function is for JsonWriter only.
|
181
|
+
mError = true;
|
182
|
+
return *this;
|
183
|
+
}
|
184
|
+
|
185
|
+
void JsonReader::Next() {
|
186
|
+
if (!mError) {
|
187
|
+
assert(!STACK->empty());
|
188
|
+
STACK->pop();
|
189
|
+
|
190
|
+
if (!STACK->empty() && CURRENT.IsArray()) {
|
191
|
+
if (TOP.state == JsonReaderStackItem::Started) { // Otherwise means reading array item pass end
|
192
|
+
if (TOP.index < CURRENT.Size() - 1) {
|
193
|
+
const Value* value = &CURRENT[++TOP.index];
|
194
|
+
STACK->push(JsonReaderStackItem(value, JsonReaderStackItem::BeforeStart));
|
195
|
+
}
|
196
|
+
else
|
197
|
+
TOP.state = JsonReaderStackItem::Closed;
|
198
|
+
}
|
199
|
+
else
|
200
|
+
mError = true;
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}
|
204
|
+
|
205
|
+
#undef DOCUMENT
|
206
|
+
#undef STACK
|
207
|
+
#undef TOP
|
208
|
+
#undef CURRENT
|
209
|
+
|
210
|
+
////////////////////////////////////////////////////////////////////////////////
|
211
|
+
// JsonWriter
|
212
|
+
|
213
|
+
#define WRITER reinterpret_cast<PrettyWriter<StringBuffer>*>(mWriter)
|
214
|
+
#define STREAM reinterpret_cast<StringBuffer*>(mStream)
|
215
|
+
|
216
|
+
JsonWriter::JsonWriter() : mWriter(), mStream() {
|
217
|
+
mStream = new StringBuffer;
|
218
|
+
mWriter = new PrettyWriter<StringBuffer>(*STREAM);
|
219
|
+
}
|
220
|
+
|
221
|
+
JsonWriter::~JsonWriter() {
|
222
|
+
delete WRITER;
|
223
|
+
delete STREAM;
|
224
|
+
}
|
225
|
+
|
226
|
+
const char* JsonWriter::GetString() const {
|
227
|
+
return STREAM->GetString();
|
228
|
+
}
|
229
|
+
|
230
|
+
JsonWriter& JsonWriter::StartObject() {
|
231
|
+
WRITER->StartObject();
|
232
|
+
return *this;
|
233
|
+
}
|
234
|
+
|
235
|
+
JsonWriter& JsonWriter::EndObject() {
|
236
|
+
WRITER->EndObject();
|
237
|
+
return *this;
|
238
|
+
}
|
239
|
+
|
240
|
+
JsonWriter& JsonWriter::Member(const char* name) {
|
241
|
+
WRITER->String(name, static_cast<SizeType>(strlen(name)));
|
242
|
+
return *this;
|
243
|
+
}
|
244
|
+
|
245
|
+
bool JsonWriter::HasMember(const char*) const {
|
246
|
+
// This function is for JsonReader only.
|
247
|
+
assert(false);
|
248
|
+
return false;
|
249
|
+
}
|
250
|
+
|
251
|
+
JsonWriter& JsonWriter::StartArray(size_t*) {
|
252
|
+
WRITER->StartArray();
|
253
|
+
return *this;
|
254
|
+
}
|
255
|
+
|
256
|
+
JsonWriter& JsonWriter::EndArray() {
|
257
|
+
WRITER->EndArray();
|
258
|
+
return *this;
|
259
|
+
}
|
260
|
+
|
261
|
+
JsonWriter& JsonWriter::operator&(bool& b) {
|
262
|
+
WRITER->Bool(b);
|
263
|
+
return *this;
|
264
|
+
}
|
265
|
+
|
266
|
+
JsonWriter& JsonWriter::operator&(unsigned& u) {
|
267
|
+
WRITER->Uint(u);
|
268
|
+
return *this;
|
269
|
+
}
|
270
|
+
|
271
|
+
JsonWriter& JsonWriter::operator&(int& i) {
|
272
|
+
WRITER->Int(i);
|
273
|
+
return *this;
|
274
|
+
}
|
275
|
+
|
276
|
+
JsonWriter& JsonWriter::operator&(double& d) {
|
277
|
+
WRITER->Double(d);
|
278
|
+
return *this;
|
279
|
+
}
|
280
|
+
|
281
|
+
JsonWriter& JsonWriter::operator&(std::string& s) {
|
282
|
+
WRITER->String(s.c_str(), static_cast<SizeType>(s.size()));
|
283
|
+
return *this;
|
284
|
+
}
|
285
|
+
|
286
|
+
JsonWriter& JsonWriter::SetNull() {
|
287
|
+
WRITER->Null();
|
288
|
+
return *this;
|
289
|
+
}
|
290
|
+
|
291
|
+
#undef STREAM
|
292
|
+
#undef WRITER
|
@@ -0,0 +1,145 @@
|
|
1
|
+
#ifndef ARCHIVER_H_
|
2
|
+
#define ARCHIVER_H_
|
3
|
+
|
4
|
+
#include <cstddef>
|
5
|
+
#include <string>
|
6
|
+
|
7
|
+
/**
|
8
|
+
\class Archiver
|
9
|
+
\brief Archiver concept
|
10
|
+
|
11
|
+
Archiver can be a reader or writer for serialization or deserialization respectively.
|
12
|
+
|
13
|
+
class Archiver {
|
14
|
+
public:
|
15
|
+
/// \returns true if the archiver is in normal state. false if it has errors.
|
16
|
+
operator bool() const;
|
17
|
+
|
18
|
+
/// Starts an object
|
19
|
+
Archiver& StartObject();
|
20
|
+
|
21
|
+
/// After calling StartObject(), assign a member with a name
|
22
|
+
Archiver& Member(const char* name);
|
23
|
+
|
24
|
+
/// After calling StartObject(), check if a member presents
|
25
|
+
bool HasMember(const char* name) const;
|
26
|
+
|
27
|
+
/// Ends an object
|
28
|
+
Archiver& EndObject();
|
29
|
+
|
30
|
+
/// Starts an array
|
31
|
+
/// \param size If Archiver::IsReader is true, the size of array is written.
|
32
|
+
Archiver& StartArray(size_t* size = 0);
|
33
|
+
|
34
|
+
/// Ends an array
|
35
|
+
Archiver& EndArray();
|
36
|
+
|
37
|
+
/// Read/Write primitive types.
|
38
|
+
Archiver& operator&(bool& b);
|
39
|
+
Archiver& operator&(unsigned& u);
|
40
|
+
Archiver& operator&(int& i);
|
41
|
+
Archiver& operator&(double& d);
|
42
|
+
Archiver& operator&(std::string& s);
|
43
|
+
|
44
|
+
/// Write primitive types.
|
45
|
+
Archiver& SetNull();
|
46
|
+
|
47
|
+
//! Whether it is a reader.
|
48
|
+
static const bool IsReader;
|
49
|
+
|
50
|
+
//! Whether it is a writer.
|
51
|
+
static const bool IsWriter;
|
52
|
+
};
|
53
|
+
*/
|
54
|
+
|
55
|
+
/// Represents a JSON reader which implements Archiver concept.
|
56
|
+
class JsonReader {
|
57
|
+
public:
|
58
|
+
/// Constructor.
|
59
|
+
/**
|
60
|
+
\param json A non-const source json string for in-situ parsing.
|
61
|
+
\note in-situ means the source JSON string will be modified after parsing.
|
62
|
+
*/
|
63
|
+
JsonReader(const char* json);
|
64
|
+
|
65
|
+
/// Destructor.
|
66
|
+
~JsonReader();
|
67
|
+
|
68
|
+
// Archive concept
|
69
|
+
|
70
|
+
operator bool() const { return !mError; }
|
71
|
+
|
72
|
+
JsonReader& StartObject();
|
73
|
+
JsonReader& Member(const char* name);
|
74
|
+
bool HasMember(const char* name) const;
|
75
|
+
JsonReader& EndObject();
|
76
|
+
|
77
|
+
JsonReader& StartArray(size_t* size = 0);
|
78
|
+
JsonReader& EndArray();
|
79
|
+
|
80
|
+
JsonReader& operator&(bool& b);
|
81
|
+
JsonReader& operator&(unsigned& u);
|
82
|
+
JsonReader& operator&(int& i);
|
83
|
+
JsonReader& operator&(double& d);
|
84
|
+
JsonReader& operator&(std::string& s);
|
85
|
+
|
86
|
+
JsonReader& SetNull();
|
87
|
+
|
88
|
+
static const bool IsReader = true;
|
89
|
+
static const bool IsWriter = !IsReader;
|
90
|
+
|
91
|
+
private:
|
92
|
+
JsonReader(const JsonReader&);
|
93
|
+
JsonReader& operator=(const JsonReader&);
|
94
|
+
|
95
|
+
void Next();
|
96
|
+
|
97
|
+
// PIMPL
|
98
|
+
void* mDocument; ///< DOM result of parsing.
|
99
|
+
void* mStack; ///< Stack for iterating the DOM
|
100
|
+
bool mError; ///< Whether an error is occured.
|
101
|
+
};
|
102
|
+
|
103
|
+
class JsonWriter {
|
104
|
+
public:
|
105
|
+
/// Constructor.
|
106
|
+
JsonWriter();
|
107
|
+
|
108
|
+
/// Destructor.
|
109
|
+
~JsonWriter();
|
110
|
+
|
111
|
+
/// Obtains the serialized JSON string.
|
112
|
+
const char* GetString() const;
|
113
|
+
|
114
|
+
// Archive concept
|
115
|
+
|
116
|
+
operator bool() const { return true; }
|
117
|
+
|
118
|
+
JsonWriter& StartObject();
|
119
|
+
JsonWriter& Member(const char* name);
|
120
|
+
bool HasMember(const char* name) const;
|
121
|
+
JsonWriter& EndObject();
|
122
|
+
|
123
|
+
JsonWriter& StartArray(size_t* size = 0);
|
124
|
+
JsonWriter& EndArray();
|
125
|
+
|
126
|
+
JsonWriter& operator&(bool& b);
|
127
|
+
JsonWriter& operator&(unsigned& u);
|
128
|
+
JsonWriter& operator&(int& i);
|
129
|
+
JsonWriter& operator&(double& d);
|
130
|
+
JsonWriter& operator&(std::string& s);
|
131
|
+
JsonWriter& SetNull();
|
132
|
+
|
133
|
+
static const bool IsReader = false;
|
134
|
+
static const bool IsWriter = !IsReader;
|
135
|
+
|
136
|
+
private:
|
137
|
+
JsonWriter(const JsonWriter&);
|
138
|
+
JsonWriter& operator=(const JsonWriter&);
|
139
|
+
|
140
|
+
// PIMPL idiom
|
141
|
+
void* mWriter; ///< JSON writer.
|
142
|
+
void* mStream; ///< Stream buffer.
|
143
|
+
};
|
144
|
+
|
145
|
+
#endif // ARCHIVER_H__
|